当前位置:网站首页>你真的理解粘包与半包吗?3分钟搞懂它
你真的理解粘包与半包吗?3分钟搞懂它
2022-07-07 16:07:00 【InfoQ】
通俗的例子
实际情况
那如何解决粘包与半包问题呢?
- 粘包:这个思路其实很清晰,就是把它拆开呗,具体就是看怎么拆了,比如我们可以固定长度,我们规定每个包都是10个字节,那么就10个字节切一刀,这样拆开解析就 ok 了。
- 半包:半包其实就是信息还不完整,我们需要等接收到全部的信息之后再作处理,当我们识别这是一个不完整的包时候,我们先 hold 住,不作处理,等待数据完整再处理。这里关键点在于,我们如何才能知道此时完整了?上面说的固定长度其实也是一点,当然还有更多更好的解决方案,我们接着往下看。
- 固定长度
- 分隔符
- 固定长度字段+内容
【文章福利】另外小编还整理了一些C++后端开发面试题,教学视频,后端学习路线图免费分享,需要的可以自行添加:
学习交流群点击加入~
群文件共享
小编强力推荐C++后端开发免费学习地址:
C/C++Linux服务器开发高级架构师/C++后台开发架构师
固定长度
分隔符
固定长度字段+内容
总结
- FixedLengthFrameDecoder,固定长度
- DelimiterBasedFrameDecoder,分隔符
- LengthFieldBasedFrameDecoder,定长度字段+内容
最后
参考资料
边栏推荐
- Deep learning machine learning various data sets summary address
- Unlike the relatively short-lived industrial chain of consumer Internet, the industrial chain of industrial Internet is quite long
- 使用OneDNS完美解决办公网络优化问题
- Import requirements in batches during Yolo training Txt
- SD_DATA_SEND_SHIFT_REGISTER
- TaffyDB开源的JS数据库
- 2021-06-28
- Pro2: modify the color of div block
- 自动化测试:Robot FrameWork框架大家都想知道的实用技巧
- Chapter 3 business function development (safe exit)
猜你喜欢
深度学习-制作自己的数据集
Deep learning machine learning various data sets summary address
TaffyDB开源的JS数据库
测试3个月,成功入职 “字节”,我的面试心得总结
数学分析_笔记_第11章:Fourier级数
Target detection 1 -- actual operation of Yolo data annotation and script for converting XML to TXT file
[principle and technology of network attack and Defense] Chapter 1: Introduction
Robot engineering lifelong learning and work plan-2022-
[principle and technology of network attack and Defense] Chapter 6: Trojan horse
Year SQL audit platform
随机推荐
Self made dataset in pytoch for dataset rewriting
『HarmonyOS』DevEco的下载安装与开发环境搭建
AI defeated mankind and designed a better economic mechanism
用存储过程、定时器、触发器来解决数据分析问题
[trusted computing] Lesson 12: TPM authorization and conversation
[OKR target management] case analysis
利用七种方法对一个文件夹里面的所有图像进行图像增强实战
手撕Nacos源码(先撕客户端源码)
In depth understanding of USB communication protocol
Hutool - 轻量级 DB 操作解决方案
Chapter 2 build CRM project development environment (database design)
深度学习-制作自己的数据集
[principle and technology of network attack and Defense] Chapter 7: password attack technology Chapter 8: network monitoring technology
Cartoon | who is the first ide in the universe?
Chapter 2 building CRM project development environment (building development environment)
Mobile app takeout ordering personal center page
Chapter 3 business function development (user login)
Chapter 3 business function development (user access project)
Chapter 1 Introduction to CRM core business
目标检测1——YOLO数据标注以及xml转为txt文件脚本实战