【发布时间】:2011-01-29 06:28:57
【问题描述】:
我正在使用 Droid / Android 2.0.1 并遇到一个显然很多人都有的问题:我无法使用我所知道的一个纯 Java zeroconf 库 jmDNS 来发现服务。 (Apple 的 Bonjour,虽然它可以在 Linux 和 Windows Java 上运行,但我相信由于依赖于原生代码,它更难移植到 Android。)
我可以创建服务,但不能发现它们。我试图弄清楚发生了什么。
这里有一个持续的问题报告;与多播和 IPv6 相关,但似乎也抛出了 jmDNS 的用户: http://code.google.com/p/android/issues/detail?id=2323
知道为什么这个人会成功吗?请参阅错误报告中的评论 22。 (我是 SO 新手,所以不能发布多个 URL。)
我已经测试了他们的代码,但没有任何运气。
有没有人在 Android 上使用 jmDNS 或其他库成功完成 zeroconf 服务发现?
我的发现问题是否可能与 IPv6 多播问题有关?
【问题讨论】:
-
该错误报告中没有评论 22。只到 14 点。
-
看起来问题跟踪器链接应该是:code.google.com/p/android/issues/detail?id=2917
-
抱歉,我无法提出更具体的问题。问题是,当什么都没有发生时,很难解决问题。 ;) 我很惊讶没有更多的人尝试过这个,但也许这是因为 Java zeroconf 库的糟糕状态......鸡和蛋的问题。
-
zeroconf 协议故意非常非常简单。我建议直接从 RFC 编写一个简单的客户端,看看你是否正确接收数据包。它不应该与多播的怪癖有任何关系,但它肯定可能与发送/接收广播 UDP 数据包的问题有关。