我知道TCP提供类似流的数据传输,但主要问题是 - 通过TCP发送数据时会出现什么情况?
1.可以将消息拆分为N个块以适合MTU大小.
2.在1次recv调用中可以读取两条消息.
可以有下一个情况吗?
MTU例如1500字节.
客户端调用以1498字节数据发送.
客户端调用以100字节数据发送.
服务器调用recv并接收1500字节数据.
服务器调用recv并接收98字节数据.
因此,当第一个服务器recv中将收到来自第二个客户端发送的2个字节时,它最终会出现这种情况.
我的协议定义为foolows:
4个字节 - 数据长度
数据内容.
我想知道当4个字节(数据长度)被分成2个块时我能想出什么情况吗?