mDNS — это мультикаст-DNS, который в основном позволяет хостам в локальной сети обнаруживать и взаимодействовать друг с другом без традиционного DNS-сервера, а используемый порт —5353, следовать протоколу DNS и использовать существующую структуру информации DNS, синтаксис и типы записей ресурсов. И не указывается новый код действия или ответа. В локальной сети устройство и устройство должны знать IP-адреса друг друга перед тем, как общаться друг с другом; в большинстве случаев IP устройства не является статическим IP-адресом, а динамически присваиваемым IP-адресом через протокол DHCP; как обнаружить устройство, нужно показать свои навыки с помощью MDNS, например: теперь связь между устройством Интернета вещей и приложением, либо через трансляцию, либо через мультикаст, передаёт определённую информацию, заинтересованное устройство отвечает для обнаружения LAN-устройств, конечно, mDNS мощнее этого.
Регистрация службы
Сначала создайте новый проект на .NET Core 3.1 и используйте команду nuget для ссылки на следующий пакет:
Текущее название и адрес сервиса обнаруживаются при вещании с следующим кодом:
Обнаружение сервиса
Обнаружение сервисов, которое мы можем реализовать с помощью кода .NET/C#, выглядит следующим образом:
Вы также можете включить обнаружение сервиса для приема всех трансляций, код выглядит следующим образом:
Сервер: CentOS Linux релиз 7.8.2003 (Core), установив avahi и avahi-tools tools, сервис также можно обнаружить, команда установки выглядит следующим образом:
avahi-daemon — это сервисный демон, который работает на операционной системе Linux и реализует поиск сетевого сервиса Zeroconf на клиентской машине. Этот сервис может реализовывать спецификации обнаружения DNS-сервисов и DNS-мультикаст для сети Zeroconf. Пользовательская программа получает уведомления о обнаруженных сетевых сервисах и ресурсах через сообщения Linux D-Bus. Этот демон работает с кэшированием ответов пользовательских программ, чтобы уменьшить сетевой трафик, возникающий из ответов. Запустите сервис avahi-daemon.service с помощью следующей команды:
Вы можете использовать команду avahi-browse после установки avahi-tools.
Вы можете просматривать все сервисы MDNS в локальной сети с помощью следующей команды:
Для запроса к указанному сервису команда выглядит следующим образом:
Если вы закроете приложение .NET Core и отправите запрос к сервису на другом сервере, будет сообщена следующая ошибка:
+ тест eth0 IPv4 _itsvse_discovery._tcp локальный Не удалось разрешить сервисный 'тест' типа '_itsvse_discovery._tcp' в домене 'local': достигнут тайм-аут
Прилагается исходный код:
Туристы, если вы хотите увидеть скрытое содержание этого поста, пожалуйста Ответ
(Конец)
|