我正在尝试在Java中的UDP数据包的标头中设置DSCP字段,如下所示:

bcSock = new DatagramSocket(port, address);
bcSock.setTrafficClass(0xE0);

但是,当使用Wireshark查看数据包时,它将DSCP字节显示为0x00。

我尝试将其添加到“VM Options”(但没有帮助):
-Djava.net.preferIPv4Stack=true

我正在OS X 10.10.2上运行该应用程序

任何想法如何设置DSCP字节?还是使用Java设置数据包优先级(或QoS)的任何其他方法?

感谢您的想法和帮助。

最佳答案

好的,对此绝对没有解释。我使计算机进入睡眠状态(过夜),决定尝试使用其他路由器/接入点,并发现DSCP字节现在已更改!回到我的旧接入点,它继续工作。在我的MBP上的以太网网络适配器和Wi-Fi网络适配器上都进行了尝试,并且都可以正常工作。

不幸的是,我目前不知道是什么原因导致它突然开始工作。我没有重新启动计算机或任何东西。抱歉,对于看到此问题的其他人,我还没有更多帮助。

仅作记录,事实证明我仍然需要它才能起作用:

-Djava.net.preferIPv4Stack=true

09-03 18:34