avahi-browse или avahi-Discover для Windows
Существует ли бесплатное (= libre) программное обеспечение для Windows, аналогичное GNU/Linux? avahi-browse
или же avahi-discover
(что может обнаружить службы avahi/bonjour в локальной сети и перечислить их)?
Так как у меня есть проблемы с Windows и Ubuntu 12.04, которые видят (обнаруживают) службы samba друг друга (аналогично серверу Ubuntu Samba, не обнаруженному Windows 7, невозможно просмотреть общие папки на компьютере с Windows 7 x64, https://askubuntu.com/questions/130522/windows-7-and-ubuntu-12-04-cant-connect-anymore), я бы лучше не пытался решать эти проблемы, но лучше использовать более знакомые протоколы для создания и обнаружения служб (ssh, sftp, ftp) в локальной сети, как avahi/bonjour.
2 ответа
Ранее я использовал библиотеку Java JmDNS для реализации обнаружения служб в Windows.
Если вы хотите написать клиент-серверное программное обеспечение на Java, которое использует обнаружение службы с нулевой конфигурацией на основе mDNS, то я бы порекомендовал использовать JmDNS, однако проект в данный момент неактивен.
Если вам просто нужно обнаружить службы в вашей сети, я написал простую Java-программу несколько лет назад, которая использует JmDNS. Вы можете скачать jar из моего Dropbox (все зависимости находятся внутри): https://dl.dropboxusercontent.com/u/16311400/BonjourServiceDisco.jar
Для запуска этой программы вам понадобится Java и командная оболочка Windows:
java -jar BonjourServiceDisoc.jar
К сожалению, я потерял исходный код, однако из памяти он просто делает один или два вызова API для JmDNS для многоадресной передачи запроса на обнаружение службы, а затем реализует прослушиватели для вывода результатов в стандартный вывод. JmDNS, вероятно, включает в себя тестовую программу, которая делает что-то очень похожее.
Моно-реализация zeroconf, включая двоичные файлы Windows, доступна по адресу: http://www.mono-project.com/Mono.Zeroconf
Бинарный файл Mono.Zeroconf для Windows основан на установке службы Bonjour от Apple в вашей системе (реализация mDNS от Apple). Если у вас не установлен Bonjour, вы можете просто установить Apple iTunes, поскольку он включает Bonjour.
Я опубликовал два отдельных ответа, потому что решения JmDNS и Mono.Zeroconf отличаются во многих отношениях, таких как язык реализации, совместимость, ошибки и функции, поэтому вы, скорее всего, предпочтете использовать одно над другим.