我想通过java.net.Socket
发送消息。
消息是:001C020000C0154C000404850D9583CC00000004560B00E42080004C
对于我的应用程序,我需要通过一个TCP packet
发送此消息。
但是检查Wireshark发生了什么,我可以看到,它将消息分为
两个重组的SSL段:
00
1C020000C0154C000404850D9583CC00000004560B00E42080004C
我如何抑制这种行为?
我的代码是:
OutputStream os = m_sslsocket.getOutputStream();
os.flush();
write(hex2Byte("001C020000C0154C000404850D9583CC00000004560B00E42080004C");
os.flush();
其中,
hex2Byte
将十六进制字符串转换为字节数组。编辑:
谢谢您的意见。
无论如何,通过WireShark进行观察时,我的协议栈如下所示:
如您所见,有两个SSL段,其中一个是00
剩下的就剩下了。
如何限制只有一个网段?
以上是我写到输出流的结果。
(不必担心红色。这仅仅是因为IP校验和卸载到网络设备上。)
最佳答案
对于我的应用程序,我需要通过一个TCP数据包发送此消息。
不幸的是,无论有没有SSL,TCP都无法可靠地做到这一点。调整您的期望。这是一个字节流协议。
关于java - Java套接字-发送SSL段-如何抑制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12057799/