java - 为什么我的 java 程序会发送 TTL 为 1 的多播数据包?

标签 java sockets multicast ttl

我有一个 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 Multicast Time To Live is always 0 的答案? ?这也可以解决您的问题。那里的答案引用了回答者的 blog entry .

关于java - 为什么我的 java 程序会发送 TTL 为 1 的多播数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485810/

相关文章:

java - 返回循环中每次迭代的结果

c# - socketio4net 错误初始化握手

c - 通过套接字发送图片文件时,为什么字节有所不同?

c# - .net 代码中的 udp 多播端口

c++ - 多播接收器套接字中的重复数据包

java - C 到 Java(二进制数编程)

Java短基本类型问题

java - 如何在不修改应用程序的情况下拦截客户端的 EJB 调用?

windows - 在所有接口(interface)上接受来自本地客户端的套接字;拒绝远程客户端

sockets - UDP 服务器发现 - 客户端应该发送多播以查找服务器还是服务器应该发送常规信标?