第十课 自定义数据包协议
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的RPC架构笔记8之自定义数据包协议
- 以太网发送自定义协议数据包java
- [置顶] 自定义协议封装包头、包体
- 自定义打开协议
- nginx 自定义协议 扩展模块开发
- 移动网络应用开发中,使用 HTTP 协议比起使用 socket 实现基于 TCP 的自定义协议有哪些优势?
- 【Java TCP/IP Socket】构建和解析自定义协议消息(含代码)
- MediaPlayer ActiveX访问自定义的URL协议时问题
- 转:自定义地址协议
- 超链接打开自定义的协议
- USB协议之二 数据包分析
- IOS自定义UI组件的外观——使用UIAppearance协议自定义视图
- 自定义协议protocol(delegate)传值的步骤
- 学习笔记系列之五:自定义通讯协议
- loadrunner选择winsocket 通信协议,把接收到的数据包保存到本地计算机进行分析
- 利用Netty构建自定义协议的通信
- TCP/IP数据包结构/协议格式及编程指导
- Wireshark 认识捕获的分析数据包(及各个分层协议的介绍)
- 自定义串口数据协议发送hex文件