【问题标题】:Why would my java program send multicast packets with a TTL of 1?为什么我的 java 程序会发送 TTL 为 1 的多播数据包?
【发布时间】:2009-01-29 09:41:01
【问题描述】:

我有一个 java 客户端程序,它使用 mdns 和服务发现来查找其关联的服务器。在使用 Windows、Fedora 10 和 Ubuntu 8.10 在单一网络上进行大量测试后,我们向客户交付了一个测试版本。他们报告客户端和服务器从不连接。他们向我们发送了一个 Wireshark 捕获,显示 mdns 数据包的 TTL 为 1,即使我们的代码将其设置为 32。当我们在本地测试时,TTL 为 32,就像我们设置的一样。客户正在使用 Redhat Enterprise 5。

我看到了Java Multicast Time To Live is always 0,但我很好奇为什么那个提问者的 TTL 为 0,而我的是 1。

【问题讨论】:

    标签: java sockets multicast ttl


    【解决方案1】:

    您查看Java Multicast Time To Live is always 0 的答案了吗?这也可以解决您的问题。那里的答案引用了回答者的blog entry

    【讨论】:

    • 我确实看到了那个问题和答案。我想我应该把这个添加到问题中,但是是什么让它在这里为 1 而对那个人来说是 0。
    • 不知道。不同的内核版本?不同的 IP 堆栈版本或补丁?不同的 Java 版本或实现?如果该帖子的答案解决了您的问题,请告诉我们。
    • 我还是想知道为什么它是 1 而不是 0,但是如何让它不这样的答案是一样的。
    猜你喜欢
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-19
    相关资源
    最近更新 更多