Обнаружить узлы Zeroconf / Bonjour?
Вопрос
Есть ли простой способ просканировать данную сеть на наличие сервисов Bonjour / Zeroconf?
У меня есть набор компьютеров (Linux, Windows, Apple), и я хотел бы автоматически сгенерировать список всех доступных сетевых узлов с поддержкой Zeroconf в моей Интрасети.
Решение
Я им не пользовался, но вы, возможно, захотите взглянуть на Библиотека Zeroconf проекта Mono.
Похоже, у них есть инструмент запроса mzclient
это может вам помочь.
Если ничего другого нет, вы должны быть в состоянии создать что-то на C #, используя эту библиотеку.
Другие советы
Если вы используете Linux и Авахи-Демон, похоже, что Avahi-Discover заслуживает расследования.
Однако вам, очевидно, придется загрузить / установить / запустить его.В Ubuntu / Debian вы можете использовать следующее:
% sudo apt-get install avahi-discover
И запустите графический интерфейс с помощью:
% avahi-discover
Безусловно, самый надежный метод (я перепробовал все это, создавая встраиваемый продукт с поддержкой MDNS) - это использовать "Bonjour" с открытым исходным кодом.Это демон mDNSResponder, и он доступен здесь:
http://opensource.apple.com/source/mDNSResponder/mDNSResponder-320.10/
Пакет mDNSResponder содержит библиотеку Java JNI и примеры, которые позволяют вам опрашивать все доступные сервисы.
@EdH, спасибо за твой пост.Я проголосовал за это.Я еще не пробовал Mono.Zeroconf, но я уверен, что это сработает, поскольку Bonjour / Zeroconf очень мало изменился за последние пару лет.Я ищу только базовые функции, такие как публикация сервиса и обнаружение.mzclient кажется хорошим местом для начала.Я откопал местоположение git для источника: mzclient на github .Надеюсь, это поможет другим, ищущим аналогичное решение :-)