解析Android设备上注册的zeroconf服务时超时

解析Android设备上注册的zeroconf服务时超时,android,bonjour,zeroconf,Android,Bonjour,Zeroconf,我在解决Android设备(Captivate,Android 2.2)上启动的zeroconf服务时遇到问题。使用Ubuntu上的avahi discover,我可以很好地看到注册的服务,但试图解决它会出现一个错误“error:org.freedesktop.avahi.TimeoutError:Timeout-reacted”。这给我的应用程序(救援工作/激进主义的临时消息共享)带来了问题,需要解决该服务才能接收其IP或链接本地名称及其端口 注意:我的Android设备能够成功地解析在其他设

我在解决Android设备(Captivate,Android 2.2)上启动的zeroconf服务时遇到问题。使用Ubuntu上的avahi discover,我可以很好地看到注册的服务,但试图解决它会出现一个错误“error:org.freedesktop.avahi.TimeoutError:Timeout-reacted”。这给我的应用程序(救援工作/激进主义的临时消息共享)带来了问题,需要解决该服务才能接收其IP或链接本地名称及其端口

注意:我的Android设备能够成功地解析在其他设备上注册的zeroconf服务,例如我的Ubuntu机器,因此这与我的问题不同

在android方面,代码再简单不过了:

serviceInfo = ServiceInfo.create("_fluidnexus._tcp.local.", "Fluid Nexus", 17894, "Fluid Nexus Zeroconf server for android");
jmdns.registerService(serviceInfo);
这段代码是由安卓服务启动的线程的一部分,安卓服务由我的主要活动启动。所有jmdns调用都是从同一线程中进行的。单独的线程接受该端口上的连接,并且不调用任何jmdns代码

这似乎不是一个锁问题,因为我能够发现/解决其他zeroconf服务而没有问题,但老实说,在Android上注册我自己的服务时,我并不完全清楚锁的生命周期使用

如果您想在上下文中查看代码,可以在上找到它


任何帮助都将不胜感激!谢谢。

这方面运气好吗?我也有同样的问题。服务分辨率适用于我的KindleFire,但不适用于我的Galaxy Nexus或谷歌电视。太棒了。不幸的是,我还没有找到解决方案,没有。因为这是一个我现在没有积极参与的辅助项目,所以我无法深入研究。我希望有人发现这一点,并张贴一个解决方案,以帮助我们两个!