mDNS is Multicast DNS, wat hosts in het LAN vooral in staat stelt om met elkaar te ontdekken en te communiceren zonder een traditionele DNS-server, en de gebruikte poort is5353, volg het DNS-protocol en gebruik de bestaande DNS-informatiestructuur, syntaxis en resourcerecordtypes. En er wordt geen nieuwe actiecode of responscode gespecificeerd. In het LAN moeten het apparaat en het apparaat elkaars IP-adres kennen voordat ze met elkaar communiceren; in de meeste gevallen is het IP van het apparaat geen statisch IP-adres, maar een dynamisch toegewezen IP-adres via het DHCP-protocol; hoe het apparaat te ontdekken is om zijn vaardigheden te tonen via MDNS, bijvoorbeeld: nu wordt de communicatie tussen het Internet of Things-apparaat en de app, hetzij via broadcasting of via multicast, specifieke informatie verzonden, het geïnteresseerde apparaat antwoordt, om de ontdekking van LAN-apparaten te bereiken; natuurlijk is mDNS krachtiger dan dit.
Dienstregistratie
Maak eerst een nieuw .NET Core 3.1-project aan en gebruik het nuget-commando om naar het volgende pakket te verwijzen:
De huidige naam en het adres van de dienst worden ontdekt door uitzendingen, met de volgende code:
Serviceontdekking
Serviceontdekking, die we kunnen bereiken via .NET/C#-code, verloopt als volgt:
Je kunt ook serviceontdekking inschakelen om alle uitzendingen te ontvangen, de code is als volgt:
Server: CentOS Linux release 7.8.2003 (Core), door avahi en avahi-tools te installeren, kan de service ook worden ontdekt, het installatiecommando is als volgt:
avahi-daemon is een servicedaemon die draait op een Linux-besturingssysteem en een lookup implementeert voor een netwerkgebaseerde Zeroconf-service op een clientmachine. Deze dienst kan DNS-serviceontdekking en DNS-multicast-specificaties implementeren voor het Zeroconf-netwerk. Het gebruikersprogramma ontvangt meldingen van ontdekte netwerkdiensten en -bronnen via Linux D-Bus berichten. Deze daemon werkt met het cachen van gebruikersprogramma-antwoorden om het netwerkverkeer dat uit reacties voortkomt te verminderen. Voer de avahi-daemon.service dienst uit met het volgende commando:
Je kunt het avahi-browse-commando gebruiken nadat je avahi-tools hebt geïnstalleerd.
Je kunt alle MDNS-diensten in het LAN bekijken met het volgende commando:
Om een gespecificeerde dienst te bevragen, is het commando als volgt:
Als je de .NET Core-applicatie sluit en de service op een andere server raadpleegt, wordt de volgende foutmelding gerapporteerd:
+ eth0 IPv4 test _itsvse_discovery._tcp lokaal Niet gelukt om service 'test' van type '_itsvse_discovery._tcp' in domein 'local' op te lossen: Timeout bereikt
Bijgevoegd is de broncode:
Toeristen, als jullie de verborgen inhoud van dit bericht willen zien, alsjeblieft Antwoord
(Einde)
|