- 1
- 0
- 约2.02千字
- 约 3页
- 2026-10-22 发布于北京
- 举报
第三课:select模型的优化
这一课总共包含两个部分,
第一部分,粘包处理
第二部分,生产者消费者模式
第一部分:粘包处理
首先我们需要明白什么是粘包。
Send函数的本质是将指定缓冲区的内容流到协议栈的发送缓冲区中。至于数据何时通过互
联网从本机发送给另外一台主机,这是操作系统要负责的事情。
操作系统的数据发送方式比较繁琐,但大致可以简单归结为以下两个条件满足一个:
1.协议栈的接收缓冲区数据存在时间超过一定数值
2.协议栈的接收缓冲区字符串长度超过一定数值
所以,当数据发送频率较快,或网络比较复杂,容易出现重发的情况时,就容易出现操作系
统一次发送了多个数据结构,半个数据结构的情况(比如一个login结构体就是一个数据结
构)。
对于数据接收端也是同理,recv函数的本质是将协议栈接收缓冲区中的内容流到指定的缓冲
区中,至于是不是一个完整的数据结构根本不管。于是便很容易出现一次接收了多个数据结
构或半个数据结构的情况。
对于这个问题,因为常常几个数据结构粘连在一起,于是我们给它起了个形象的名字:粘包。
上一节课为什么要设定发送间隔,发送的快了,就可能出现粘包问题。
至于粘包的处理方法,也很简单,就是创建一个第二缓冲区(又名消息缓冲区),第
您可能关注的文档
- FBJ-05-063车铣件加工技术.pdf
- 汤申-东海岸线实乞纳站门表设计与施工要求.pdf
- 安全技术基础概念精要.pdf
- 星际救援中伦理困境.pdf
- 斯巴鲁力狮与傲虎车型电路端子配置说明.pdf
- 建筑装饰工程与施工细则.pdf
- 市实验学校高二下学期语文月精析.pdf
- 仙游极乐心栈成立与奉粥活动.pdf
- 绿色施工与现场环境管理.pdf
- 九章算术中方程术历史价值与发展影响.pdf
- 计量规程规范 JJF 2476-2026腹膜透析机校准规范.pdf
- 《JJF 2465-2026天然气在线硫化氢气体检测仪校准规范》.pdf
- JJF 1111-2026调制度测量仪校准规范.pdf
- 《JJF 1111-2026调制度测量仪校准规范》.pdf
- 计量规程规范 JJF 2471-2026实时荧光定量聚合酶链反应核酸检测系统分析性能确认和验证技术规范.pdf
- JJF 2471-2026实时荧光定量聚合酶链反应核酸检测系统分析性能确认和验证技术规范.pdf
- 《JJF 2471-2026实时荧光定量聚合酶链反应核酸检测系统分析性能确认和验证技术规范》.pdf
- 《JJF 2470-2026食用油品质检测仪校准规范》.pdf
- JJF 2470-2026食用油品质检测仪校准规范.pdf
- 计量规程规范 JJF 2470-2026食用油品质检测仪校准规范.pdf
原创力文档

文档评论(0)