技巧6:记住,TCP是一种流协议
技巧六主要讲的是分包组包的问题
TCP是流协议所以才会出现毡包等问题,UDP是不会出现这类问题的,因为他有消息边界。
一,recv接收数据可能有的情况
1,没有数据可读2,recv接收到的是消息的一部分,而不是全部
3,recv接收到消息的全部
4,recv接收了报文1的所有数据,报文2的部分或者全部
以上这些不包括EOF或者出错之类的
二,定长消息分包组包的方法
定长的消息每次读取固定长度,如果读取的长度
稍后会把这具体代码贴出来
技巧六主要讲的是分包组包的问题
TCP是流协议所以才会出现毡包等问题,UDP是不会出现这类问题的,因为他有消息边界。
定长的消息每次读取固定长度,如果读取的长度
稍后会把这具体代码贴出来