【发布时间】:2012-08-21 15:02:45
【问题描述】:
我想通过java.net.Socket 发送消息。
消息是:001C020000C0154C000404850D9583CC00000004560B00E42080004C
对于我的应用程序,我需要通过 TCP packet 发送此消息。
但是检查 Wireshark 发生的事情是,我可以看到,它将消息分为 两个重新组合的 SSL 段:
- 00
- 1C020000C0154C000404850D9583CC00000004560B00E42080004C
如何抑制这种行为?
我的代码是:
OutputStream os = m_sslsocket.getOutputStream();
os.flush();
write(hex2Byte("001C020000C0154C000404850D9583CC00000004560B00E42080004C");
os.flush();
其中hex2Byte 将十六进制字符串转换为字节数组。
编辑: 谢谢你们的cmets。
无论如何,我通过 WireShark 观察时的协议栈如下所示:
如您所见,有两个 SSL 段,其中一个是 00 另一个有其余的。 如何抑制它,只有一个片段?
以上是我写入输出流的结果。
(不要担心红色。那只是因为 IP 校验和卸载到网络设备。)
【问题讨论】:
-
“TCP 数据包”和“SSL 段”是什么意思?您的问题并没有真正的意义,因为 TCP 是面向流的而不是面向数据包的。即使您的 TCP 流被分割成多个 IP 数据包,这对接收端也绝对没有影响。