TCP粘包问题及解决

// socket: 网络中的进程通过socket通信。模式:open—write/read—close模式
概述:
socket发送多端数据时,底层的Tcp会据需要,将数据拆分,合并,组成数据包发送给用户,用户接收后,无法根据Tcp本身判断数据边界——这个文题就称为粘包问题。
解决方案
通信双方约定协议
a、只发送固定长度数据
缺点:不够灵活,只适合每次传输固定长度的数据。

b、约定分隔符,通信双方约定分隔符,表示数据边界,不停读取,以分隔符为标志
缺点:数据本身含有分隔符,需要转义,比较麻烦。

c、数据分头、体,在头信息中描述数据的长度,格式
接收时先接收头,后接收体,据头信息决定如何接收体

猜你喜欢

转载自blog.csdn.net/qq_38973672/article/details/87213005
今日推荐