Existem outras bibliotecas Java para o bonjour / zeroconf além do JMDNS?
Também estou curioso para encontrar a melhor biblioteca multiplataforma de DNS-SD (Zeroconf, Bonjour, DNS auto-descoberta) que existe por aí.
Soa como o DNS-SD dnssd.jar da Apple é a biblioteca Java “oficial” que requer suporte de biblioteca nativa no Windows, Linux, etc, mas funciona de imediato no Mac OSX.
Existem outras implementações puras do Java DNS-SD, mas não está claro se alguma delas oferece uma biblioteca que seja tão fácil de usar ou totalmente testada como o DNS-SD (alguns dos projetos parecem estar abandonados por 2 anos).
O mdnsjava é um projeto que fornece suporte a mDNS e DNS-SD para dnsjava (dnsjava.org). Ao contrário de muitas das implementações Java do DNS-SD, o mdnsjava suporta resolução completa de DNS RR mDNS, não apenas a resolução de serviços.
Tente em:
DNS-SD
– As mesmas APIs Java DNS-SD também estão disponíveis no Bonjour para Windows, Bonjour para Linux, Solaris, * BSD, etc., permitindo que o software Java faça uso da Descoberta de Serviço DNS do Zeroconf em uma ampla gama de plataformas, não apenas em Mac OS X ……
O garçom parece ser uma biblioteca Java pura para o DNS-SD. Está disponível aqui:
A menos que seu objective seja anunciar a disponibilidade do serviço para outros aplicativos compatíveis com mDNS ou consumir serviços mDNS de outros aplicativos, talvez faça mais sentido implementar sua própria descoberta de serviço baseada em transmissão.
dns_sd.jar no windows funciona bem, baixe da Apple (SDK para windows). Cuidado com as reinstalações do Bonjour porque elas tendem a sobrescrever o diretório Program Files / Bonjour que contém o dns_sd.jar. Aerofólio da Rogue Amoeba é um exemplo disso, no entanto eles afirmam usar o instalador original da Apple.
O dnssd.jar no OSX funciona bem, mas não está mais incluído nos últimos lançamentos Java, pois a Oracle assumiu a responsabilidade. No entanto, o arquivo ainda está no disco desde que o 1.6 Java da Apple está no disco. Basta encontrar o arquivo e movê-lo para a pasta / externals em seu Java mais recente. Por isso, é bastante engraçado-idiota que a Apple forneça um SDK que funcione bem para a implementação do Java DNS SD no Windows, sem oferecer nada pelo seu próprio OSX. Eu antecipo que isso é simplesmente o resultado de odiar Java demais na Apple?
Mas, alguém sabe de uma implementação Java do protocolo airtunes; a última versão usada hoje no Airport Express e na Apple TV, não sendo a mesma versão usada nos modelos anteriores do Airport Express?
Eu sei do qTunes, mas ele não funciona com as versões mais recentes do Airtunes. (Eu poderia fazê-lo funcionar com os alto-falantes do Rogue Amoeba’s Airfoil para Mac OS X)
Eu não estou monitorando este tópico, mas posso ser contatado em chj@hdsoundlab.com para perguntas práticas.
Eu tenho trabalhado em uma implementação Java simples e pura do mDNS Service Discovery. No momento, apenas a navegação síncrona é suportada, mas pretendo adicionar um ouvinte asynchronous na próxima versão. É um software gratuito e está disponível no GitHub em https://github.com/fflewddur/hola .
Os únicos requisitos são o Java 8 e ter o slf4j-api disponível em seu caminho de class.
Achei mais fácil criar minha própria implementação (após a experiência com WS-Discovery e Bonjour para casos de várias plataformas) https://github.com/4ntoine/ServiceDiscovery-java . Ele tem o Java e o iOS impl para o lado do cliente e do servidor.
Experimente o avahi4j ( https://code.google.com/archive/p/avahi4j/ ). Mas o projeto está arquivado e não há desenvolvimento ativo a partir de 2009.