mDNS je Multicast DNS, ki predvsem omogoča gostiteljem v LAN-u, da med seboj odkrivajo in komunicirajo brez tradicionalnega DNS strežnika, pri čemer je uporabljeni port5353, sledi DNS protokolu in uporablja obstoječo strukturo informacij, sintakso in vrste zapisov o virih DNS. In ni določena nobena nova akcijska koda ali odgovorna koda. V LAN-u morata naprava in naprava poznati IP naslov drug drugega, preden komunicirata med seboj; v večini primerov IP naprave ni statični IP, temveč dinamično dodeljen IP naslov prek protokola DHCP; kako odkriti napravo, je prikaz njenih sposobnosti z MDNS, na primer: zdaj komunikacija med napravo Internet stvari in aplikacijo, bodisi prek oddajanja ali multicasta, pošilja določene informacije, zainteresirana naprava odgovori, da bi dosegla odkritje LAN naprav, seveda je mDNS močnejši od tega.
Registracija službe
Najprej ustvarite nov .NET Core 3.1 projekt in uporabite ukaz nuget za referenco na naslednji paket:
Trenutno ime storitve in naslov se odkrijeta z oddajanjem z naslednjo kodo:
Odkritje storitev
Odkrivanje storitev, ki ga lahko dosežemo s kodo .NET/C#, je naslednje:
Omogočite lahko tudi odkrivanje storitev za sprejem vseh oddaj, koda je naslednja:
Strežnik: CentOS Linux izdaja 7.8.2003 (jedro), z namestitvijo orodij avahi in avahi-tools je mogoče storitev prav tako odkriti, ukaz za namestitev je naslednji:
avahi-daemon je servisni demon, ki deluje na operacijskem sistemu Linux in izvaja iskanje za omrežno storitev Zeroconf na odjemalskem računalniku. Ta storitev lahko izvaja DNS odkrivanje storitev in DNS multicast specifikacije za omrežje Zeroconf. Uporabniški program prejema obvestila o odkritih omrežnih storitvah in virih prek sporočil Linux D-Bus. Ta demon deluje s predpomnjenjem odgovorov uporabniških programov, da pomaga zmanjšati promet v omrežju, ki izhaja iz odgovorov. Zaženite storitev avahi-daemon.service z naslednjim ukazom:
Po namestitvi avahi-tools lahko uporabiš ukaz avahi-brskaj.
Vse MDNS storitve v LAN lahko vidite z naslednjim ukazom:
Za poizvedbo določene storitve je ukaz naslednji:
Če zaprete .NET Core aplikacijo in poiščite storitev na drugem strežniku, bo prijavljena naslednja napaka:
+ eth0 IPv4 test _itsvse_discovery._tcp lokalno Ni uspelo rešiti storitve 'test' tipa '_itsvse_discovery._tcp' v domeni 'local': Dosežena časovna meja
Priložena je izvorna koda:
Turisti, če želite videti skrito vsebino te objave, prosim Odgovoriti
(Konec)
|