Java 使用setTrafficClass和WireShark进行DSCP标记时出现问题

Java 使用setTrafficClass和WireShark进行DSCP标记时出现问题,java,network-programming,wireshark,Java,Network Programming,Wireshark,我正在尝试使用setTrafficClass标记DSCP值。我在两台不同的机器上设置了服务器和客户端,我可以打印DSCP的值,但我无法在WireShark中看到它。 我在网上浏览了一些帖子,但没有任何帮助。我正在使用Windows7专业版。 任何帮助都将不胜感激。谢谢大家! 我正在进行更多的测试,看看如何做到这一点。 以下是客户端代码: 试一试{ 服务器: try { ServerSocket serverSocket = new ServerSocket(1234);

我正在尝试使用setTrafficClass标记DSCP值。我在两台不同的机器上设置了服务器和客户端,我可以打印DSCP的值,但我无法在WireShark中看到它。 我在网上浏览了一些帖子,但没有任何帮助。我正在使用Windows7专业版。 任何帮助都将不胜感激。谢谢大家!

我正在进行更多的测试,看看如何做到这一点。 以下是客户端代码:

试一试{

服务器:

    try {
        ServerSocket serverSocket = new ServerSocket(1234);
        Socket clientSocket = serverSocket.accept();

        BufferedReader in = new BufferedReader(new InputStreamReader(
                clientSocket.getInputStream()));

        String fromClient = in.readLine();
        System.out.println(fromClient);

        in.close();
        clientSocket.close();
        serverSocket.close();

    } catch (Exception e) {
        e.printStackTrace();
    }

}
在服务器端的控制台中: 当前DSCP值:10

我的服务器代码和客户端在不同的机器上

在wireshark中,我看到:

区分服务字段:0x00(DSCP 0x00:默认;ECN:0x00:非ECT(不支持ECN传输))


我希望在wireshark中看到更改,我只看到默认值零。

上次我在Java中使用DSCP值时,由于JVM中存在错误,必须将
Java.net.preferIPv4Stack
系统属性设置为
true
。尽管在Java.ne中似乎可以工作,但不会在底层套接字上设置Othwerwise DSCP值t、 套接字API

此外,在连接套接字之前,您可能需要调用
setTrafficClass
,在某些平台上连接之后,它可能无法工作


java-Djava.net.preferIPv4Stack=true…

@ron\u g\u 1请用您用于
setTrafficClass(int)
的参数和您期望的输出更新问题。嗨,ron\u g\u 1~~~有结果吗?我是同一个问题~~~~~
    try {
        ServerSocket serverSocket = new ServerSocket(1234);
        Socket clientSocket = serverSocket.accept();

        BufferedReader in = new BufferedReader(new InputStreamReader(
                clientSocket.getInputStream()));

        String fromClient = in.readLine();
        System.out.println(fromClient);

        in.close();
        clientSocket.close();
        serverSocket.close();

    } catch (Exception e) {
        e.printStackTrace();
    }

}