mDNS je Multicast DNS, který umožňuje hostitelům v LAN objevovat a komunikovat mezi sebou bez tradičního DNS serveru, přičemž použitý port je5353, následujte DNS protokol a používejte stávající DNS informační strukturu, syntaxi a typy záznamů zdrojů. A není specifikován žádný nový akční kód ani kód odpovědi. V LAN musí zařízení a zařízení znát IP adresu toho druhého, než spolu komunikují, ve většině případů IP zařízení není statická IP adresa, ale dynamicky přidělovaná IP adresa prostřednictvím protokolu DHCP, jak zařízení objevit, je třeba prokázat své schopnosti pomocí MDNS, například: nyní komunikace mezi zařízením Internet of Things a aplikací, ať už aplikací prostřednictvím vysílání nebo multicastu, odesílá konkrétní informace, zájemce zařízení reaguje, aby bylo možné objevit LAN zařízení, samozřejmě mDNS je výkonnější než toto.
Registrace služby
Nejprve vytvořte nový projekt .NET Core 3.1 a použijte příkaz nuget k odkazu na následující balíček:
Aktuální název služby a adresa jsou zjišťovány vysíláním s následujícím kódem:
Objevování služeb
Objevování služeb, které můžeme dosáhnout pomocí .NET/C# kódu, je následující:
Můžete také povolit objevování služeb pro příjem všech vysílání, kód je následující:
Server: CentOS Linux release 7.8.2003 (Core), instalací nástrojů avahi a avahi-tools lze službu také objevit, instalační příkaz je následující:
avahi-daemon je servisní démon, který běží na operačním systému Linux a implementuje vyhledávání síťové služby Zeroconf na klientském stroji. Tato služba může implementovat specifikace DNS služeb a DNS multicast pro síť Zeroconf. Uživatelský program přijímá oznámení o objevených síťových službách a zdrojích prostřednictvím zpráv Linux D-Bus. Tento démon pracuje s cacheováním odpovědí uživatelských programů, aby pomohl snížit síťový provoz vyplývající z odpovědí. Spusť službu avahi-daemon.service pomocí následujícího příkazu:
Po instalaci avahi-tools můžete použít příkaz avahi-brouring.
Všechny služby MDNS v LAN můžete zobrazit pomocí následujícího příkazu:
Pro dotazování na specifickou službu je příkaz následující:
Pokud zavřete aplikaci .NET Core a vyptáte se na službu na jiném serveru, bude nahlášena následující chyba:
+ eth0 IPv4 test _itsvse_discovery._tcp local Nepodařilo se vyřešit test služby typu '_itsvse_discovery._tcp' v doméně 'local': Dosaženo vypršení času
Přiložen je zdrojový kód:
Turisté, pokud chcete vidět skrytý obsah tohoto příspěvku, prosím Odpověď
(Konec)
|