Android上JmDNS的网络配置。已添加服务,但未解决
我在Android上使用JmDNS解析mDNS服务时遇到问题。服务偶尔会解析,但大多数情况下只调用serviceAdded(),而不调用serviceResolved()!有人知道问题是什么吗?如果我缺少一些网络配置或类似的配置 我正在使用以太网(eth1),配置如下:Android上JmDNS的网络配置。已添加服务,但未解决,android,networking,jmdns,Android,Networking,Jmdns,我在Android上使用JmDNS解析mDNS服务时遇到问题。服务偶尔会解析,但大多数情况下只调用serviceAdded(),而不调用serviceResolved()!有人知道问题是什么吗?如果我缺少一些网络配置或类似的配置 我正在使用以太网(eth1),配置如下: 1:lo:mtu 16436 qdisc noqueue状态未知 链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00 inet 127.0.0.1/8范围主机lo inet6::1/128作
1:lo:mtu 16436 qdisc noqueue状态未知
链接/环回00:00:00:00:00 brd 00:00:00:00:00:00:00
inet 127.0.0.1/8范围主机lo
inet6::1/128作用域主机
永远有效\u lft首选\u lft永远有效
2:eth0:mtu 1500 qdisc pfifo_快速状态升级qlen 1000
链接/以太00:18:7d:32:77:40 brd ff:ff:ff:ff:ff:ff:ff:ff
inet 172.18.0.191/24 brd 172.18.0.255范围全局eth0
inet6 2a00:801:19:1:218:7dff:fe32:7740/64范围全局动态
有效\u lft 2591918秒优先\u lft 604718秒
inet6 fe80::218:7dff:fe32:7740/64作用域链接失败
永远有效\u lft首选\u lft永远有效
3:sit0:mtu 1480 qdisc noop状态关闭
链接/位置0.0.0.0 brd 0.0.0.0
5:eth1:mtu 1500 qdisc pfifo_快速状态升级qlen 1000
链接/以太00:14:d1:b0:7b:89 brd ff:ff:ff:ff:ff:ff:ff:ff
inet 192.168.3.162/24范围全球eth1
inet6 fe80::214:d1ff:feb0:7b89/64范围链接
永远有效\u lft首选\u lft永远有效
路由表:
172.18.0.1开发人员eth0范围链接
224.0.0.251开发eth1范围链接
192.168.3.0/24 dev eth1原型内核作用域链接src 192.168.3.162
172.18.0.0/24 dev eth0原型内核作用域链接src 172.18.0.191度量202
默认通过172.18.0.1 dev eth0
默认值通过172.18.0.1 dev eth0 metric 202
以下是我正在使用的代码:
try {
InetAddress address = InetAddress.getByName("192.168.3.162");
jmDNS = JmDNS.create(address);
serviceListener = new ServiceListener() {
@Override
public void serviceResolved(ServiceEvent serviceEvent) {
String additions = "";
if (serviceEvent.getInfo().getInetAddresses() != null && serviceEvent.getInfo().getInetAddresses().length > 0) {
additions = serviceEvent.getInfo().getInetAddresses()[0].getHostAddress();
}
Log.i("GPSservice.NetworkOperations", "Service resolved: " + serviceEvent.getInfo().getQualifiedName() + " port:" + serviceEvent.getInfo().getPort() + ", " + additions);
}
@Override
public void serviceRemoved(ServiceEvent serviceEvent) {
Log.i("GPSservice.NetworkOperations", "Service removed: " + serviceEvent.getName());
}
@Override
public void serviceAdded(ServiceEvent serviceEvent) {
Log.i("GPSservice.NetworkOperations", "service added");
jmDNS.requestServiceInfo(INVENTORY_TYPE, serviceEvent.getName());
}
};
jmDNS.addServiceListener(INVENTORY_TYPE, serviceListener);
} catch (Exception e) {
Log.e("GPSservice.NetworkOperations", "JmDNS error.", e);
}
我也有同样的问题 在这里找到了答案: 基本上,只需从SourceForge SVN repo 3.4.1中下载最新的源代码,就可以解决解决服务问题
我试过了。这对我不起作用。相反,解决方案是切换到完美工作的mdnsjava。