mDNS er Multicast DNS, som hovedsageligt gør det muligt for værter i LAN'et at opdage og kommunikere med hinanden uden en traditionel DNS-server, og porten der bruges er5353, følg DNS-protokollen og brug den eksisterende DNS-informationsstruktur, syntaks og ressourceposttyper. Og der er ikke specificeret nogen ny handlingskode eller svarkode. I LAN'et skal enheden og enheden kende hinandens IP-adresse, før de kan kommunikere med hinanden; i de fleste tilfælde er enhedens IP ikke en statisk IP-adresse, men en dynamisk tildelt IP-adresse via DHCP-protokollen; hvordan man opdager enheden, skal vise dens færdigheder via MDNS, for eksempel: nu er kommunikationen mellem Internet of Things-enheden og appen, enten appen via broadcasting eller via multicast, der sender specifik information, den interesserede enhed svarer, for at opnå opdagelsen af LAN-enheder, selvfølgelig er mDNS mere kraftfuldt end dette.
Tjenesteregistrering
Først opretter du et nyt .NET Core 3.1-projekt og bruger nuget-kommandoen til at referere til følgende pakke:
Det aktuelle tjenestenavn og adresse opdages ved udsendelse med følgende kode:
Serviceopdagelse
Serviceopdagelse, som vi kan opnå gennem .NET/C#-kode, er som følger:
Du kan også aktivere serviceopdagelse for at modtage alle udsendelser, koden er som følger:
Server: CentOS Linux udgivelse 7.8.2003 (Core), ved installation af avahi og avahi-tools værktøjer kan tjenesten også opdages, installationskommandoen er som følger:
avahi-daemon er en service-daemon, der kører på et Linux-operativsystem og implementerer et opslag for en netværksbaseret Zeroconf-tjeneste på en klientmaskine. Denne tjeneste kan implementere DNS-serviceopdagelse og DNS multicast-specifikationer for Zeroconf-netværket. Brugerprogrammet modtager notifikationer om opdagede netværkstjenester og ressourcer via Linux D-Bus-beskeder. Denne daemon arbejder med caching af brugerprogramsvar for at hjælpe med at reducere netværkstrafik som følge af svar. Kør avahi-daemon.service tjenesten med følgende kommando:
Du kan bruge avahi-browse-kommandoen efter installation af avahi-tools.
Du kan se alle MDNS-tjenester i LAN'et med følgende kommando:
For at forespørge en specificeret tjeneste er kommandoen som følger:
Hvis du lukker .NET Core-applikationen og forespørger tjenesten på en anden server, vil følgende fejl blive rapporteret:
+ eth0 IPv4 test _itsvse_discovery._tcp lokal Kunne ikke løse service-'test' af typen '_itsvse_discovery._tcp' i domænet 'local': Timeout nået
Vedhæftet er kildekoden:
Turister, hvis I vil se det skjulte indhold i dette indlæg, så vær venlig Svar
(Slut)
|