-1

我想通过java.net.Socket.

消息是:001C020000C0154C000404850D9583CC00000004560B00E42080004C

对于我的应用程序,我需要通过一个发送此消息TCP packet

但是检查 Wireshark 发生了什么,我可以看到,它将消息分成两个重新组合的 SSL 段:

  1. 00
  2. 1C020000C0154C000404850D9583CC00000004560B00E42080004C

我怎样才能抑制这种行为?

我的代码是:

OutputStream os = m_sslsocket.getOutputStream();
os.flush();
write(hex2Byte("001C020000C0154C000404850D9583CC00000004560B00E42080004C");
os.flush();

其中hex2Byte将十六进制字符串转换为字节数组。

编辑:感谢您的评论。

在任何情况下,通过 WireShark 观察时我的协议栈如下所示: 在此处输入图像描述

如您所见,有两个 SSL 段,其中一个为 00,另一个为其余部分。如何抑制它,只有一个片段?

以上是我写入输出流的结果。

(不要担心红色。那只是因为 IP 校验和卸载到网络设备。)

4

1 回答 1

2

对于我的应用程序,我需要通过一个 TCP 数据包发送此消息。

运气不好,不管有没有 SSL,TCP 都不能可靠地做到这一点。调整你的期望。这是一个字节流协议。

于 2012-08-21T15:12:34.617 回答