首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMdns ServiceListner无法找到所有服务,

JMdns ServiceListner无法找到所有服务,
EN

Stack Overflow用户
提问于 2012-04-26 02:47:47
回答 2查看 2.1K关注 0票数 1

您好,我创建了示例jmdns serviceListner,当我运行它时,它应该继续列出它找到的服务,但使用这个我的程序,它在运行时列出很少的服务,之后它不列出任何服务。我的google chrome浏览器有dns-sd,所以当我在chrome浏览器中浏览服务时,我的程序会列出其他服务,否则我的程序就不会列出服务。我不明白为什么ServiceListner本身没有检测到任何后续事件。

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    String type = "_my-app._tcp.local.";
    Enumeration<NetworkInterface> ifc = NetworkInterface.getNetworkInterfaces();
    while (ifc.hasMoreElements()) {
        NetworkInterface anInterface = ifc.nextElement();
        if (anInterface.isUp()) {
            Enumeration<InetAddress> addr = anInterface.getInetAddresses();
            while (addr.hasMoreElements()) {
                InetAddress address = addr.nextElement();
                final JmDNS jmdns = JmDNS.create(address, type);
                ServiceListenerClass aClass = new ServiceListenerClass();
                jmdns.addServiceListener(type, aClass);              

            }
        }
    }


}

public static class ServiceListenerClass implements ServiceListener {
    public void serviceAdded(ServiceEvent event) {
        event.getDNS().requestServiceInfo(event.getType(), event.getName(), true);
    }

    public void serviceRemoved(ServiceEvent event) {
        System.out.println((count--) + " " + event.getInfo().getName());
    }

    public void serviceResolved(ServiceEvent event) {
            System.out.println((count++) + " :Res: " + event.getInfo().getName() + " " + event.getInfo().getPort() + " " + event.getInfo().getApplication()
                    + " " + event.getInfo().getDomain() + " " + event.getInfo().getKey());
    }
}
EN

回答 2

Stack Overflow用户

发布于 2012-07-25 19:39:32

我遇到了类似的第二个问题。问题可能来自您的防火墙设置。

在我的例子中,javaw.exe可以访问所有来电,但不能向任何人发送任何内容,因为防火墙阻止了它。

试着关闭防火墙来测试你的程序,并确定不是防火墙导致了问题。

票数 1
EN

Stack Overflow用户

发布于 2014-04-27 22:06:11

这里也有同样的问题。使用以下参数启动java为我解决了这个问题:

代码语言:javascript
复制
-Djava.net.preferIPv4Stack=true
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10321916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档