资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

TCP粘包与拆包之一

TCP粘包/拆包

什么是TCP粘包/拆包问题

创新互联专业为企业提供西岗网站建设、西岗做网站、西岗网站设计、西岗网站制作等企业网站建设、网页设计与制作、西岗企业网站模板建站服务,10年西岗做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

TCP以流方式传输,是没有界限的一串数据,并没有消息边界。
- TCP传输数据时,会根据底层的TCP缓存区实际情况进行数据包划分:
- 1.业务上定义的完整数据(比方说一个完整的json串),可能会被TCP拆分成多个数据包进行发送(拆包)。
- 2.业务上特殊含义的独立数据,也有可能因为大小或者缓冲区原因,被TCP封装成一个大数据包发送(粘包)。

通过一个图来理解

TCP粘包与拆包之一

通过图我们可以发现,数据包接收有很多情况:
1、没有粘包拆包,终端2收到了完整的数据包A和数据包B。
2、终端2一次性读取到数据包A和数据包B,这就是粘包。
3、终端2读取到完整的数据包A和部分数据包B1,第二次才读取到数据包B剩余部分(数据包B2),这就是拆包。
4、类似第三点,数据包A也有可能分成两部分(A1、A2), 被前后读取。
5、假设数据包很大,那么可能产生多次拆包,如数据包A分N次被读取。

当前名称:TCP粘包与拆包之一
网页URL:http://cdkjz.cn/article/jhdjdc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220