无法在函数serviceAdded中从ServiceEvent获取txtrecords(来自JmDNS)

时间:2012-09-13 07:56:43

标签: android jmdns

我无法在函数ServiceEvent(来自JmDNS)中从serviceAdded获取txtrecord。

但是我能够在函数ServiceEvent

中从serviceResolved获取txtrecord

serviceResolved仅在启动时执行一次,并且不会限制所有服务。

serviceAdded每次加入新服务时都会执行。但是当我试图访问txtrecord时,我在txtrecord中找不到任何内容,我发现只有服务名称。

是否有解决方案在每次加入新服务时获取所有txtRecord?

2 个答案:

答案 0 :(得分:0)

serviceAdded方法事件关联的服务信息不包含解决方案信息。 要获取完整解析的信息,我们需要调用JmDNS.getServiceInfo(String,String,long)

public void serviceAdded(ServiceEvent event) {
                   ServiceInfo inf = event.getDNS().getServiceInfo(event.getType(), event.getName());
               }

参考:http://jmdns.sourceforge.net/apidocs/javax/jmdns/ServiceListener.html

答案 1 :(得分:0)

也可以通过

完成
 public void serviceAdded(ServiceEvent event) {
                event.getDNS().requestServiceInfo(event.getType(), event.getName(), true);
 }

这将要求服务解决。