我无法在函数ServiceEvent
(来自JmDNS)中从serviceAdded
获取txtrecord。
但是我能够在函数ServiceEvent
serviceResolved
获取txtrecord
serviceResolved
仅在启动时执行一次,并且不会限制所有服务。
serviceAdded
每次加入新服务时都会执行。但是当我试图访问txtrecord时,我在txtrecord中找不到任何内容,我发现只有服务名称。
是否有解决方案在每次加入新服务时获取所有txtRecord?
答案 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);
}
这将要求服务解决。