0

我问是否如果我发送两条离散消息(例如,使用 send(linux C/C++)并在 poll(2/3) 回调中读取它,是否会读取两个写入(数据包)?作为一个,或者对于每条消息都会有一个单独的投票事件?注意,我使用 IOCTL 来查看要读取的待处理数据的大小。那么它总是一条消息的大小还是可能恰好是更多消息的大小?

编辑:套接字类型是 SOCK_STREAM。

4

1 回答 1

1

在 STREAM 套接字中(我猜你不使用 DGRAM 套接字?)消息可能会被连接起来(流中没有消息边界),或者单个消息可能被分成几个部分。

为了使通信可靠,在每个数据包前面加上它的长度。

于 2013-05-13T15:13:01.227 回答