mDNS es Multicast DNS, que principalmente permite que los hosts en la LAN se descubran y comuniquen entre sí sin un servidor DNS tradicional, y el puerto utilizado es5353, sigue el protocolo DNS y utiliza la estructura de información, sintaxis y tipos de registro de recursos existentes del DNS. Y no se especifica ningún nuevo código de acción ni de respuesta. En la LAN, el dispositivo y el dispositivo necesitan conocer la dirección IP del otro antes de comunicarse; en la mayoría de los casos, la IP del dispositivo no es una IP estática, sino una IP asignada dinámicamente a través del protocolo DHCP, para demostrar sus habilidades mediante MDNS, por ejemplo: ahora la comunicación entre el dispositivo de Internet de las Cosas y la app, ya sea la app mediante difusión o multicast, envía información específica, el dispositivo interesado responde para lograr el descubrimiento de dispositivos LAN, por supuesto, el mDNS es más potente que esto.
Registro de servicio
Primero, crea un nuevo proyecto .NET Core 3.1 y utiliza el comando nuget para referenciar el siguiente paquete:
El nombre y la dirección actual del servicio se descubren mediante la radiodifusión, con el siguiente código:
Descubrimiento del servicio
El descubrimiento de servicios, que podemos lograr mediante código .NET/C#, es el siguiente:
También puedes activar el descubrimiento de servicios para recibir todas las difusiones, el código es el siguiente:
Servidor: CentOS Linux versión 7.8.2003 (Core), instalando las herramientas avahi y avahi-tools, también se puede descubrir el servicio, cuyo comando de instalación es el siguiente:
avahi-daemon es un daemon de servicio que se ejecuta en un sistema operativo Linux e implementa una búsqueda de un servicio Zeroconf basado en red en una máquina cliente. Este servicio puede implementar especificaciones de descubrimiento de servicios DNS y multicast DNS para la red Zeroconf. El programa de usuario recibe notificaciones de servicios y recursos de red descubiertos a través de mensajería D-Bus en Linux. Este daemon funciona con la caché de respuestas de programas de usuario para ayudar a reducir el tráfico de red resultante de las respuestas. Ejecuta el servicio avahi-daemon.service con el siguiente comando:
Puedes usar el comando avahi-browse después de instalar avahi-tools.
Puedes ver todos los servicios MDNS en la LAN con el siguiente comando:
Para consultar un servicio especificado, el comando es el siguiente:
Si cierras la aplicación .NET Core y consultas el servicio en otro servidor, se reportará el siguiente error:
+ eth0 IPv4 test _itsvse_discovery._tcp local No se resolvió la 'prueba' del servicio de tipo '_itsvse_discovery._tcp' en el dominio 'local': Tiempo límite alcanzado
Adjunto el código fuente:
Turistas, si queréis ver el contenido oculto de esta publicación, por favor Respuesta
(Fin)
|