Существуют ли другие библиотеки Java для bonjour/zeroconf помимо JMDNS?
Существуют ли другие библиотеки Java для bonjour/zeroconf помимо JMDNS?
9 ответов
Мне также любопытно найти лучшую кроссплатформенную библиотеку DNS-SD (Zeroconf, Bonjour, DNS self discovery).
Похоже, что DNS-SD от Apple dnssd.jar является "официальной" библиотекой Java, которая требует поддержки собственных библиотек в Windows, Linux и т. Д., Но работает из коробки на Mac OSX.
Существуют и другие реализации Java-SD в чистом виде, но неясно, предлагают ли какие-либо из них такую же простую в использовании или полностью протестированную библиотеку, как DNS-SD (некоторые проекты, по-видимому, заброшены на 2 года).
- Официальная библиотека Apple DNS-SD mDNSResponder
- Интеграция mDNSResponder и jmDNS. Была проделана определенная работа по созданию библиотеки, предоставляющей общий интерфейс DNS-SD для jmDNS и реализации Apple mDNSResponder. Инструкция по использованию оболочки jmDNS.
- Официант - описывается как "современная библиотека DNS и эффективная библиотека DNS-SD (Service Discovery)". Он использует Java NIO сети.
- jmDNS - JmDNS предоставляет простую в использовании реализацию mDNS на чистой Java, которая работает на JDK 1.4 и выше
- JiveDNS - "JiveDNS - это ветвь несуществующей библиотеки JmDNS, используемой для обнаружения и регистрации многоадресной службы DNS". (сама она не видела обновления SVN более 2 лет)
mdnsjava - это проект, который предоставляет поддержку mDNS и DNS-SD для dnsjava (dnsjava.org). В отличие от многих реализаций DNS-SD java, mdnsjava поддерживает полное разрешение DNS RR mDNS, а не только разрешение служб.
Попробуйте в:
- Те же API Java DNS-SD также доступны в Bonjour для Windows, Bonjour для Linux, Solaris, *BSD и т. Д., Что позволяет программному обеспечению Java использовать Zeroconf DNS Service Discovery на широком спектре платформ, а не только на Mac OS X ......
Официант кажется чистой библиотекой Java для DNS-SD. Это доступно здесь:
dns_sd.jar на windows работает нормально, скачать с Apple (SDK для windows). Остерегайтесь переустановок Bonjour, поскольку они имеют тенденцию перезаписывать каталог Program Files/Bonjour, содержащий dns_sd.jar. Один из примеров тому - аэродинамический профиль Rogue Amoeba, однако они утверждают, что использовали оригинальный установщик Apple.
dnssd.jar на OSX работает нормально, но больше не включен в последние выпуски Java, поскольку Oracle взяла на себя ответственность. Тем не менее, файл все еще находится на диске, так как 1.6 Java от Apple находится на диске. Просто найдите файл и переместите его в папку /externals в вашей последней Java. Поэтому довольно забавно идиотично, что Apple предоставляет хорошо функционирующий SDK для Windows, реализующий Java DNS SD, но ничего не предлагает для своего собственного OSX. Я ожидаю, что это просто результат слишком сильной ненависти к Java в Apple?
Но кто-нибудь знает о реализации Java протокола airtunes; последняя версия, используемая в сегодняшнем Airport Express и Apple TV, НЕ является той же версией, которая использовалась в более ранних моделях Airport Express?
Я знаю qTunes, но он не работает с последними версиями Airtunes. (Я мог бы заставить его работать с колонками Rogue Amoeba Airfoil для Mac OS X)
Я не отслеживаю эту ветку, но со мной можно связаться по адресу chj@hdsoundlab.com для практических вопросов.
Если ваша цель не состоит в том, чтобы объявить о доступности сервисов другим mDNS-совместимым приложениям или использовать mDNS-сервисы из других приложений, возможно, имеет смысл реализовать собственное обнаружение сервисов на основе широковещания.
Я работал над простой, чистой реализацией Java mDNS Service Discovery. На данный момент поддерживается только синхронный просмотр, но я планирую добавить асинхронный слушатель в следующем выпуске. Это бесплатное программное обеспечение и доступно на GitHub по адресу https://github.com/fflewddur/hola.
Единственными требованиями являются Java 8 и наличие slf4j-api в вашем пути к классам.
Попробуйте avahi4j ( https://code.google.com/archive/p/avahi4j/). Но проект заархивирован и с 2009 года не ведется активная разработка.
Мне стало проще создавать собственную реализацию (после опыта работы с WS-Discovery и Bonjour для кроссплатформенных случаев) https://github.com/4ntoine/ServiceDiscovery-java. Он имеет как Java, так и iOS как для клиентской, так и для серверной части.