Existe-t-il d'autres bibliothèques Java pour bonjour/zeroconf en dehors de JMDNS?
Je suis également curieux de trouver la meilleure bibliothèque DNS-SD multiplateforme (Zeroconf, Bonjour, découverte automatique de DNS) qui existe.
Cela ressemble à DNS-SD dnssd.jar d’Apple est la bibliothèque Java "officielle" qui requiert la prise en charge des bibliothèques natives sous Windows, Linux, etc., mais fonctionne immédiatement sous Mac OSX.
Il existe d'autres implémentations Java DNS-SD pures, mais il est difficile de savoir si l'une d'elles offre une bibliothèque aussi facile à utiliser ou entièrement testée que DNS-SD (certains projets semblent abandonnés depuis 2 ans).
mdnsjava est un projet qui fournit un support mDNS et DNS-SD pour dnsjava (dnsjava.org). Contrairement à la plupart des implémentations Java de DNS-SD, mdnsjava prend en charge la résolution complète du RR DNS DNS mDNS, pas seulement la résolution des services.
Essayez à:
- Les mêmes API Java DNS-SD sont également disponibles dans Bonjour pour Windows, Bonjour pour Linux, Solaris, * BSD, etc., ce qui permet au logiciel Java d'utiliser la découverte de service DNS de Zeroconf sur une large gamme de plates-formes, et pas seulement Mac OS X ......
Waiter semble être une pure bibliothèque Java pour DNS-SD. C'est disponible ici:
À moins que votre objectif ne soit d'annoncer la disponibilité du service à d'autres applications compatibles mDNS ou de consommer des services mDNS d'autres applications, il peut s'avérer plus judicieux d'implémenter votre propre découverte de service basée sur la diffusion.
dns_sd.jar sous Windows fonctionne bien, téléchargez-le à partir d’Apple (SDK pour Windows). Faites attention aux réinstallations de Bonjour car elles ont tendance à écraser le répertoire Program Files/Bonjour contenant le fichier dns_sd.jar. L'aile de Rogue Amoeba en est un exemple, mais ils prétendent utiliser le programme d'installation d'origine d'Apple.
dnssd.jar sous OSX fonctionne bien, mais n’est plus inclus dans les dernières versions de Java, car Oracle en assume la responsabilité. Cependant, le fichier est toujours sur le disque puisque la version 1.6 Java d’Apple est sur le disque. Il suffit de trouver le fichier et de le déplacer vers le dossier/externals dans votre dernier fichier Java. Il est donc assez cocasse que Apple fournisse un SDK qui fonctionne bien et qui implémente Java SD SD, sans rien offrir du tout pour leur propre OSX. J'imagine que c'est simplement le résultat de haïr trop Java chez Apple?
Mais, connaissez-vous une implémentation Java du protocole airtunes? la dernière version utilisée dans les versions actuelles de Airport Express et Apple TV, n'étant PAS la même version que celle utilisée dans les modèles précédents de Airport Express?
Je connais qTunes, mais cela ne fonctionne pas avec les dernières versions d’Airtunes. (Je pourrais le faire fonctionner avec les haut-parleurs Airfoil de Rogue Amoeba pour Mac OS X)
Je ne surveille pas ce fil, mais vous pouvez contacter [email protected] pour des questions pratiques.
Essayez avahi4j ( https://code.google.com/archive/p/avahi4j/ ). Mais le projet est archivé et il n'y a pas de développement actif à partir de 2009.
J'ai trouvé plus facile de créer ma propre implémentation (après une expérience de WS-Discovery et de Bonjour pour les cas multiplate-forme) https://github.com/4ntoine/ServiceDiscovery-Java . Il possède à la fois Java et iOS pour les clients et les serveurs.
Je travaille sur une implémentation Java pure et simple de mDNS Service Discovery. Pour l'instant, seule la navigation synchrone est prise en charge, mais je prévois d'ajouter un écouteur asynchrone dans la prochaine version. C'est un logiciel gratuit disponible sur GitHub à l'adresse https://github.com/fflewddur/hola .
Les seules conditions requises sont Java 8 et la disponibilité de slf4j-api dans votre chemin de classe.