我有一个 java 客户端程序,它使用 mdns 和服务发现来查找其关联的服务器。在使用 Windows、Fedora 10 和 Ubuntu 8.10 在单一网络上进行大量测试后,我们向客户交付了一个测试版本。他们报告客户端和服务器从不连接。他们向我们发送了一个 wireshark 捕获,显示 mdns 数据包的 TTL 为 1,即使我们的代码将其设置为 32。当我们在本地测试时,TTL 为 32,就像我们设置的一样。客户正在使用 Redhat Enterprise 5。
我看到Java Multicast Time To Live 始终为 0,但这让我很好奇为什么那个提问者的 TTL 为 0,而我的是 1。