如果我有一个看起来像“|SIZE|TYPE|DATA”的 TCP 消息协议,我的读取缓冲区(实际上是我的数据流)可以看起来像这样(由于错误):
|尺寸|类型|数据| 尺寸|类型|部分数据|尺寸|类型|数据
这将导致我从 3. 消息中读取字节到 2. 这会发生吗?如何检测这种情况?
编辑:对于“部分数据”,我的意思是该消息的其余部分将丢失并且永远不会收到。另一条完整的消息在该消息之后发送,并找到到达接收者的方式。但是,由于我的 2. 消息未满,我会将 3. 消息的一部分读入我的 2. 消息中。:(