0

我目前有一个在 TCP 套接字上侦听和发送的程序。

我遇到的问题是我发送了一个数据包,有时它会分解成碎片。所以我的监听 TCP 套接字类认为进来的第一部分是整个有效载荷。

人们在使用 TCP 连接进行编程时采用的典型方法是什么?

4

1 回答 1

2

您不能假设第一部分是整个有效负载。您必须继续阅读套接字,直到获得所有内容。

有两种选择:

选项 1
标记消息(数据结构)的结尾。然后,您的听众会继续阅读,直到收到消息结束标记。

选项 2
在发送实际数据之前发送消息或数据结构的长度。然后,您的侦听器会继续阅读,直到它读取所有字节。

于 2013-02-07T22:48:20.283 回答