2015-03-30 67 views
3

我试图设置DSCP字段在Java中的UDP数据包的报头,像这样:如何在Java OS X上设置DSCP字节

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

然而,寻找与该包时Wireshark,它将DSCP字节显示为0x00。

我尝试添加该到“VM选项”(但它并没有帮助):

-Djava.net.preferIPv4Stack=true 

我运行在OS X 10.10.2

任何想法的应用程序如何设置DSCP字节?或者使用Java来设置数据包优先级(或QoS)的其他方式?

感谢您的想法&帮助。

回答

1

好吧,绝对没有解释这一点。我让我的电脑进入睡眠状态(过夜),决定尝试不同的路由器/接入点,并且看到DSCP字节正在被更改!回到我的旧接入点,它继续工作。在我的MBP上尝试了以太网网络适配器和Wi-Fi网络适配器,两者都正常工作。

不幸的是,我目前不知道是什么原因突然开始工作。我没有重启我的电脑或任何东西。对不起,我不能帮助其他任何人看到这个问题。

只是为了记录在案,原来我还需要这为它工作:

-Djava.net.preferIPv4Stack=true