mDNS er Multicast DNS, som hovedsakelig gjør det mulig for verter i LAN-et å oppdage og kommunisere med hverandre uten en tradisjonell DNS-server, og porten som brukes er5353, følger DNS-protokollen, og bruker eksisterende DNS-informasjonsstruktur, syntaks og ressursposttyper. Og ingen ny handlingskode eller responskode er spesifisert. I LAN-et må enheten og enheten kjenne hverandres IP-adresse før de kommuniserer med hverandre, i de fleste tilfeller er ikke enhetens IP en statisk IP-adresse, men en dynamisk tildelt IP-adresse via DHCP-protokollen, hvordan man oppdager enheten, viser dens ferdigheter via MDNS, for eksempel: nå sender kommunikasjonen mellom Internet of Things-enheten og appen, enten appen via kringkasting eller via multicast, noe spesifikk informasjon, den interesserte enheten svarer, for å oppnå oppdagelsen av LAN-enheter, selvfølgelig er mDNS kraftigere enn dette.
Tjenesteregistrering
Først oppretter du et nytt .NET Core 3.1-prosjekt og bruker nuget-kommandoen for å referere til følgende pakke:
Nåværende tjenestenavn og adresse oppdages ved kringkasting, med følgende kode:
Tjenesteoppdagelse
Tjenesteoppdagelse, som vi kan oppnå gjennom .NET/C#-kode, er som følger:
Du kan også aktivere tjenesteoppdagelse for å motta alle sendinger, koden er som følger:
Server: CentOS Linux versjon 7.8.2003 (Core), ved å installere avahi og avahi-verktøy, kan tjenesten også oppdages, installasjonskommandoen er som følger:
avahi-daemon er en tjenestedaemon som kjører på et Linux-operativsystem og implementerer et oppslag for en nettverksbasert Zeroconf-tjeneste på en klientmaskin. Denne tjenesten kan implementere DNS-tjenesteoppdagelse og DNS-multicast-spesifikasjoner for Zeroconf-nettverket. Brukerprogrammet mottar varsler om oppdagede nettverkstjenester og ressurser gjennom Linux D-Bus-meldinger. Denne daimonen fungerer med å cache brukerprogramsvar for å redusere nettverkstrafikken som følge av svar. Kjør avahi-daemon.service-tjenesten med følgende kommando:
Du kan bruke avahi-browse-kommandoen etter å ha installert avahi-tools.
Du kan se alle MDNS-tjenester i LAN-et med følgende kommando:
For å spørre en spesifisert tjeneste, er kommandoen som følger:
Hvis du lukker .NET Core-applikasjonen og spør tjenesten på en annen server, vil følgende feil bli rapportert:
+ eth0 IPv4-test _itsvse_discovery._tcp lokal Mislykkedes i å løse tjeneste-'test' av typen '_itsvse_discovery._tcp' i domenet 'local': Timeout nådd
Vedlagt er kildekoden:
Turister, hvis dere vil se det skjulte innholdet i dette innlegget, vær så snill Svare
(Slutt)
|