JmmDNS,JmmDNS?有什么不同?在我的包中使用什么?

时间:2011-09-06 11:27:11

标签: bundle jmdns

我是新手。在查看JmDNS库(3.4.1)时,我无法清楚地了解JmDNS和JmmDNS实例之间的区别。我使用JmmDNS的一个实例来发现服务,它在我的应用程序中正常工作。然后,我想将我的代码转换为一个包,然而,没有任何作用。然后,如果我在我的包中使用JmDNS的实例,我可以成功地发现服务。如果有人让我更清楚,我将不胜感激。 此外,根据文档,使用JmmDNS,我们有一个NetworktopologyListener,因此我们保证服务始终更新。 JmDNS实例也能保证这一点吗?由于这个原因,我对使用我的软件包犹豫不决(服务可能不会随着网络的变化而更新)

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

如果查看文档,JmmDNS的类文档说:

  

Java多宿主多播DNS

     

为此计算机上的每个InetAddress使用基础JmDNS实例。

     

这门课会监听   网络拓扑发生变化,并将创建或销毁JmDNS实例   按要求。维护服务是您的责任   注册(提示:使用NetworkTopologyListener)。

JmDNS实例绑定到特定的Interface,并执行在该单一接口上维护mDNS响应者所需的一切,包括服务发现和公告。

FWIW,我最终编写了自己的NetworkTopologyListenerJmmDNS工作,因为根据我的经验,所提供的工作效果不佳。在早期的Windows 7上,某些JVM v7版本中的接口发现根本不起作用,并且它与混合的IPv4和IPv6情况相混淆。那两个当时是实验性的。