mDNS je Multicast DNS, ktorý hlavne umožňuje hostiteľom v LAN objavovať a komunikovať medzi sebou bez tradičného DNS servera, pričom použitý port je5353, dodržiavať DNS protokol a používať existujúcu DNS informačnú štruktúru, syntax a typy záznamov zdrojov. A nie je špecifikovaný žiadny nový kód akcie ani kód odpovede. V LAN musia zariadenie a zariadenie poznať IP adresu toho druhého predtým, než spolu komunikujú, vo väčšine prípadov IP zariadenia nie je statická IP adresa, ale dynamicky priradená IP adresa cez protokol DHCP, spôsob, akým zariadenie objavíte, je na preukázanie jeho schopností prostredníctvom MDNS, napríklad: teraz komunikácia medzi zariadením Internet of Things a aplikáciou, či už cez vysielanie alebo cez multicast, posiela konkrétne informácie, záujemcovia reagujú, aby sa dosiahlo objavenie LAN zariadení – samozrejme, mDNS je výkonnejšie.
Registrácia služby
Najprv vytvorte nový projekt .NET Core 3.1 a použite príkaz nuget na referenciu nasledujúceho balíka:
Aktuálny názov služby a adresa sa zisťujú vysielaním s nasledujúcim kódom:
Objavovanie služieb
Objavovanie služieb, ktoré môžeme dosiahnuť pomocou kódu .NET/C#, je nasledovné:
Môžete tiež povoliť objavovanie služieb na prijímanie všetkých vysielaní, kód je nasledovný:
Server: CentOS Linux release 7.8.2003 (Core), inštaláciou nástrojov avahi a avahi-tools je možné službu tiež objaviť, inštalačný príkaz je nasledovný:
avahi-daemon je servisný démon, ktorý beží na operačnom systéme Linux a implementuje vyhľadávanie sieťovej služby Zeroconf na klientskom stroji. Táto služba dokáže implementovať DNS detekciu služieb a DNS multicast špecifikácie pre sieť Zeroconf. Používateľský program prijíma oznámenia o objavených sieťových službách a zdrojoch prostredníctvom správ Linux D-Bus. Tento démon pracuje s ukladaním odpovedí používateľských programov do vyrovnávacej pamäte, aby pomohol znížiť sieťovú prevádzku vyplývajúcu z odpovedí. Spustite službu avahi-daemon.service pomocou nasledujúceho príkazu:
Príkaz avahi-browse môžete použiť po nainštalovaní avahi-tools.
Všetky služby MDNS v LAN môžete zobraziť pomocou nasledujúceho príkazu:
Na dotazovanie špecifikovanej služby je príkaz nasledovný:
Ak zatvoríte .NET Core aplikáciu a požiadate službu na iný server, zobrazí sa nasledujúca chyba:
+ eth0 IPv4 test _itsvse_discovery._tcp lokálne Nepodarilo sa vyriešiť test služby typu '_itsvse_discovery._tcp' v doméne 'local': Dosiahnutý časový limit
Priložený je zdrojový kód:
Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím. Odpoveď
(Koniec)
|