除了JMDNS之外,还有其他任何用于bonjour / zeroconf的Java库吗?

时间:2009-08-05 13:17:08

标签: java bonjour zeroconf

除了JMDNS,还有除bonjour / zeroconf之外的其他Java库吗?

9 个答案:

答案 0 :(得分:33)

我也很想找到最好的跨平台DNS-SD(Zeroconf,Bonjour,DNS自我发现)库。

听起来像Apple's DNS-SD dnssd.jar是“官方”Java库,它需要Windows,Linux等上的本机库支持,但在Mac OSX上开箱即用。

还有其他纯Java DNS-SD实现,但目前还不清楚它们是否提供了一个易于使用或完全经过DNS-SD测试的库(其中一些项目似乎被放弃了2年)。

  1. Official Apple DNS-SD mDNSResponder library
  2. mDNSResponder and jmDNS integration - 有一些 努力创建一个库 提供通用的DNS-SD接口 到jmDNS和Apple的mDNSResponder 实现。 Instructions to use the jmDNS wrapper
  3. waiter - 被描述为“现代的 DNS库和有效的DNS-SD (服务发现)库。“它 利用java NIO网络。
  4. jmDNS - JmDNS提供 易于使用的纯Java mDNS 在JDK 1.4上运行的实现
  5. JiveDNS - “JiveDNS是一个分支 已失效的JmDNS库,用于 多播DNS服务发现和 注册。“(它本身没有 2年内看到SVN更新)

答案 1 :(得分:5)

mdnsjava是一个为dnsjava(dnsjava.org)提供mDNS和DNS-SD支持的项目。 与许多DNS-SD java实现不同,mdnsjava支持完整的mDNS DNS RR解析,而不仅仅是服务的解析。

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

答案 2 :(得分:2)

尝试:

DNS-SD

- Bonjour for Windows,Bonjour for Linux,Solaris,* BSD等也提供相同的Java DNS-SD API,使Java软件能够在各种平台上使用Zeroconf的DNS服务发现,不只是在Mac OS X上......

答案 3 :(得分:2)

Waiter似乎是DNS-SD的纯Java库。它可以在这里找到:

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

答案 4 :(得分:1)

除非您的目标是宣布其他mDNS兼容应用程序的服务可用性或使用其他应用程序的mDNS服务,否则实施您自己的基于广播的服务发现可能更有意义。

答案 5 :(得分:1)

Windows上的

dns_sd.jar工作正常,从Apple(SDK for Windows)下载。请注意重新安装Bonjour,因为它们会覆盖包含dns_sd.jar的Program Files / Bonjour目录。来自Rogue Amoeba的翼型就此就是一个例子,但他们声称使用Apple原装安装程序。

OSX上的

dnssd.jar工作正常,但由于Oracle已经接管了责任,因此不再包含在最新的Java版本中。但是,由于Apple的1.6 Java存在于磁盘上,因此该文件仍在磁盘上。只需找到该文件并将其移动到最新Java中的/ externals文件夹即可。因此,Apple为Windows DNS SD的实现提供了一个功能良好的SDK,同时也没有为他们自己的OSX提供任何功能,这非常有趣。我预计这只是在苹果公司过多地讨厌Java的结果?

但是,有没有人知道airtunes协议的Java实现;今日机场快线及Apple TV使用的最新版本,与早前机场快线型号的版本不同?

我知道qTunes,但它不适用于最新的Airtunes版本。 (我可以使用Rogue Amoeba的Mac OS X Airfoil扬声器)

我不会监控此主题,但可以通过chj@hdsoundlab.com与我联系以获取实际问题。

答案 6 :(得分:0)

我一直致力于mDNS服务发现的简单纯Java实现。目前只支持同步浏览,但我打算在下一个版本中添加异步监听器。它是免费软件,可在https://github.com/fflewddur/hola的GitHub上找到。

唯一的要求是Java 8,并且在类路径中提供slf4j-api

答案 7 :(得分:0)

我发现更容易创建我自己的实现(在使用WS-Discovery和Bonjour的跨平台案例经验之后)https://github.com/4ntoine/ServiceDiscovery-java。它同时为客户端和服务器端提供Java和iOS impl。

答案 8 :(得分:0)

尝试avahi4j(https://code.google.com/archive/p/avahi4j/)。但该项目已存档,2009年没有积极开发。