无法从函数serviceAdded(from JmDNS)中的ServiceEvent获取txtrecords



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

但我可以在函数serviceResolved 中从ServiceEvent获得txtrecord

serviceResolved在启动时仅被执行1次,并且不封顶所有服务。

serviceAdded在每次获取新服务时执行。但当我试图访问txtrecord时,我在txtrecord中没有发现任何内容,我只找到了服务名称。

有没有一个解决方案可以在每次我获得新服务时获得所有txtRecord?

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

也可以通过完成

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

这将要求解决服务问题。

最新更新