TCP粘包问题的解决
来源:互联网 发布:软件体系结构设计实例 编辑:程序博客网 时间:2024/05/29 07:40
名词解释:
在TCP协议中,每次发送的数据长度是不确定的,从接收方来看,可能每次收到的数据都不完整,或者是收到多个数据包,这就是所谓的粘包问题。
解决方式:
1.通过应用层协议来处理粘包问题,每个应用包都带一个包头,包头指示了整个包的长度,当服务器端获取到指定的包长时才说明获取了完整的数据包。
2.指定包的结束标识,这样一旦获取到指定的标识,说明获取了完整的数据包。举例:
假设一个数据包由包头和包体构成,包头4个字节,用来指示整个数据包的长度,包体才是真正的应用数据。
接受过程如下:先收包头长度的数据,在收到包头数据之后,从包头中获取包体的长度,然后再接收包体长度的数据,这是就收到了一个完整的数据包,最后将这个数据包回调到应用层去处理。
0 0
- [转]TCP粘包问题的解决
- TCP粘包问题的解决
- TCP Socket文件传输的粘包问题及解决
- 解决TCP协议粘包问题的一个简单方案
- TCP粘包问题的分析与解决
- TCP Socket文件传输的粘包问题及解决
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输"粘包"问题
- 解决TCP网络传输“粘包”问题
- 解决TCP网络传输“粘包”问题
- xxx cannot be resolved to a type 错误解决方法
- jq ajax基础
- c++第二次上级报告
- 委托与事件
- 第五次c++实验 税收问题
- TCP粘包问题的解决
- 华为oj初级 自守数
- JVM进阶(十五)——JAVA 类加载器
- 最大流问题-Ford-Fulkerson算法 C++极简实现
- 第一次没有看答案刷题
- spring集成mybatis后,打印SQL语句
- C++容易出错的操作符重载
- Win10环境下安装Cisco VPN Client的解决办法
- SQL Server 使用TOP语句注意