Java – Why would the java program send multicast packets with a TTL of 1

javamulticastsocketsttl

I have a java client program that uses mdns with service discovery to find its associated server. After much testing on a single network with Windows, Fedora 10, and Ubuntu 8.10, we delivered a test build to a customer. They report that the client and server never connect. They sent us a wireshark capture that shows the mdns packets have a TTL of 1 even though our code sets it to 32. When we test locally, the TTL is 32 just like we set it. The customer is using Redhat Enterprise 5.

I saw Java Multicast Time To Live is always 0 but it leaves me curious as to why that question asker has a TTL of 0, but mine is 1.

Best Solution

Did you check out the answer to Java Multicast Time To Live is always 0? This may fix your problem as well. The answer there references the answerer's blog entry.

Related Question