Java多播生存时间始终为0

8 java sockets oracle multicast ttl

我在设置数据报包上的TTL时遇到问题.我在将数据包发送到multicastSocket之前调用数据包上的setTTL(...)方法但是如果我使用ethereal捕获数据包,则TTL字段始终设置为0

pfr*_*nza 6

有趣的是你应该问这个问题,因为我昨天刚刚写了这篇文章,大约6个月前我遇到了同样的问题.基本上,您必须设置一个特殊的系统属性,告诉JVM使用IPv4堆栈:

-Djava.net.preferIPv4Stack=true
Run Code Online (Sandbox Code Playgroud)