您的位置:首页 > 其它

第十课 自定义数据包协议

2017-11-02 13:15 253 查看

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

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字节(描述数据部分字节长度)
*
*/


自定义数据包协议示例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据 netty-教程 通信