47

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

4

9 回答 9

36

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

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

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

  1. Apple 官方 DNS-SD mDNSResponder 库
  2. mDNSResponder 和 jmDNS 集成- 创建一个为 jmDNS 和 Apple 的 mDNSResponder 实现提供通用 DNS-SD 接口的库已经做了一些工作。使用 jmDNS 包装器的说明
  3. waiter - 被描述为“现代 DNS 库和有效的 DNS-SD(服务发现)库”。它利用 java NIO 网络。
  4. jmDNS - JmDNS 提供易于使用的纯 Java mDNS 实现,可在 JDK 1.4 及更高版本上运行
  5. JiveDNS - “JiveDNS 是已失效的 JmDNS 库的一个分支,用于多播 DNS 服务发现和注册。” (它本身已经超过 2 年没有看到 SVN 更新)
于 2009-10-14T05:57:51.600 回答
6

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

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

于 2014-03-05T21:12:17.970 回答
2

Waiter 似乎是一个用于 DNS-SD 的纯 Java 库。它在这里可用:

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

于 2010-05-06T15:47:03.697 回答
2

尝试:

DNS-SD

-- 相同的 Java DNS-SD API 也可用于 Windows 的 Bonjour、Linux 的 Bonjour、Solaris、*BSD 等,使 Java 软件能够在广泛的平台上使用 Zeroconf 的 DNS 服务发现,而不仅仅是在Mac OS X ......

于 2009-08-05T14:20:12.150 回答
1

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

于 2011-11-16T00:01:33.407 回答
1

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

OSX 上的 dnssd.jar 工作正常,但由于 Oracle 已接管责任,因此不再包含在最新的 Java 版本中。但是,由于 Apple 的 1.6 Java 在磁盘上,因此该文件仍在磁盘上。只需找到该文件并将其移动到最新 Java 中的 /externals 文件夹即可。因此,Apple 为 Java DNS SD 的 Windows 实现提供了一个功能良好的 SDK,而没有为他们自己的 OSX 提供任何东西,这是非常可笑的白痴。我预计这仅仅是在 Apple 过度憎恨 Java 的结果?

但是,有谁知道 airtunes 协议的 Java 实现?今天的 Airport Express 和 Apple TV 中使用的最新版本,与早期型号的 Airport Express 中使用的版本不同?

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

我没有监视这个线程,但可以通过 chj@hdsoundlab.com 联系以解决实际问题。

于 2013-08-06T13:09:27.557 回答
0

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

于 2015-12-02T10:33:37.267 回答
0

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

唯一的要求是 Java 8 并且在您的类路径中具有可用的slf4j-api 。

于 2015-09-29T20:30:14.973 回答
0

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

于 2016-03-11T16:21:17.350 回答