第十课 自定义数据包协议

客户端发送到服务端两条数据

give me a coffee give me a tea

服务端收到的数据:
- give me a coffeegive me a tea 粘包现象
- give me
- a coffeegive me a tea 分包现象

粘包和分包出现的原因是:没有一个稳定数据结构

解决方法

(1) 分割符

give me a coffee|give me a tea|

give me a coffee|
give me a tea|

(2) 长度 + 数据

16give me a coffee13give me a tea

16give me a coffee
13give me a tea

(3) 自定义数据包结构

/**
 * 
 * 
 * 数据包格式
 * +——----——+——-----——+——----——+——----——+——-----——+
 * | 包头 | 模块号  | 命令号 |  长度  |   数据  |
 * +——----——+——-----——+——----——+——----——+——-----——+
 * 
 * 包头4字节
 * 模块号2字节short
 * 命令号2字节short
 * 长度4字节(描述数据部分字节长度)
 * 
 */

自定义数据包协议示例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章