mDNS è Multicast DNS, che consente principalmente agli host nella LAN di scoprire e comunicare tra loro senza un server DNS tradizionale, e la porta utilizzata è5353, segui il protocollo DNS e utilizza la struttura informativa DNS, la sintassi e i tipi di record di risorsa esistenti. E non viene specificato alcun nuovo codice d'azione o di risposta. Nella LAN, il dispositivo e il dispositivo devono conoscere l'indirizzo IP dell'altro prima di comunicare tra loro; nella maggior parte dei casi, l'IP del dispositivo non è un indirizzo IP statico, ma un indirizzo IP assegnato dinamicamente tramite il protocollo DHCP, come scoprire il dispositivo, significa dimostrare le sue competenze tramite MDNS, ad esempio: ora la comunicazione tra il dispositivo Internet delle Cose e l'app, sia tramite trasmissione o multicast, invia informazioni specifiche, il dispositivo interessato risponde per scoprire dispositivi LAN, ovviamente l'mDNS è più potente di così.
Registrazione del servizio
Per prima cosa, crea un nuovo progetto .NET Core 3.1 e usa il comando nuget per fare riferimento al seguente pacchetto:
Il nome e l'indirizzo attuali del servizio vengono scoperti tramite trasmissione, con il seguente codice:
Scoperta del Servizio
La scoperta dei servizi, che possiamo ottenere tramite codice .NET/C#, è la seguente:
Puoi anche abilitare il service discovery per ricevere tutte le trasmissioni, il codice è il seguente:
Server: CentOS Linux versione 7.8.2003 (Core), installando gli strumenti avahi e avahi-tools, il servizio può essere scoperto, il comando di installazione è il seguente:
avahi-daemon è un daemon di servizio che funziona su un sistema operativo Linux e implementa una ricerca per un servizio Zeroconf basato su rete su una macchina client. Questo servizio può implementare specifiche DNS service discovery e DNS multicast per la rete Zeroconf. Il programma utente riceve notifiche sui servizi e risorse di rete scoperti tramite messaggistica Linux D-Bus. Questo daemon lavora con la memorizzazione in cache delle risposte dei programmi utente per aiutare a ridurre il traffico di rete derivante dalle risposte. Esegui il servizio avahi-daemon.service con il seguente comando:
Puoi usare il comando avahi-browse dopo aver installato avahi-tools.
Puoi visualizzare tutti i servizi MDNS nella LAN con il seguente comando:
Per interrogare un servizio specificato, il comando è il seguente:
Se chiudi l'applicazione .NET Core e interroghi il servizio su un altro server, verrà segnalato il seguente errore:
+ eth0 IPv4 test _itsvse_discovery._tcp locale Non è riuscito a risolvere il servizio 'test' di tipo '_itsvse_discovery._tcp' nel dominio 'locale': Timeout raggiunto
Allegato è riportato il codice sorgente:
Turisti, se volete vedere il contenuto nascosto di questo post, vi prego Risposta
(Fine)
|