Android上JmDNS的网络配置。已添加服务,但未解决

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作

我在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作用域主机
永远有效\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。