Existem outras bibliotecas Java para o bonjour / zeroconf além do JMDNS?

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).

  1. Biblioteca oficial do Apple DNS-SD mDNSResponder
  2. Integração mDNSResponder e jmDNS – Houve algum trabalho para criar uma biblioteca que forneça uma interface DNS-SD comum para o jmDNS e a implementação mDNSResponder da Apple. Instruções para usar o wrapper jmDNS .
  3. garçom – Descrito como uma “biblioteca DNS moderna e uma biblioteca eficaz de DNS-SD (Descoberta de Serviço)”. Utiliza o sistema de rede java NIO.
  4. jmDNS – O JmDNS fornece implementação mDNS de Java puro e fácil de usar que é executada no JDK 1.4 e superior
  5. JiveDNS – “O JiveDNS é uma bifurcação da extinta biblioteca JmDNS, usada para descoberta e registro de serviço de DNS multicast.” (ele próprio não viu uma atualização do SVN em mais de 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.

https://code.google.com/p/mdnsjava/

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:

http://code.google.com/p/waiter/

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.

    Intereting Posts