我无法从函数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);
}
这将要求解决服务问题。