TCP是一种流式连接,对小包会进行封包缓存发送,大包会出现分包发送。接收端就会发现接收到的数据和发送的数据的次数不一致。这个就是粘包现象。
解决:
1、定长数据包(太理想)
2、使用特殊标记来区分消息间隔(字符数据可以,二级制数据不可行)
3、把消息尺寸与消息一并发送(目前最通用的做法是在每次发送的数据的固定偏移位置写入数据包的长度)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
TCP
+关注
关注
8文章
1353浏览量
79055
发布评论请先 登录
相关推荐
TLV320AIC3254内部中的ADC处理模块和minidsp到底是什么关系?
我想请问一下几个问题:
1.3254内部中的ADC处理模块和minidsp到底是什么关系,是并列的还是串行关系?还是ADC处理模块就是minidsp特殊情况下的部分?
2.minidsp的抽取因子该怎么理解,到底怎么使用?
发表于 10-31 06:02
运放旁路电容必须靠近芯片引脚的原因到底是什么呢?
运放旁路电容必须靠近芯片引脚的原因到底是什么呢?有的说是怕走线的电感与旁路电容形成谐振,旁路电容靠近运放的时候走线的电感不应该更大了吗(走线越长,走线的寄生电感也就越大)
发表于 08-01 06:56
tcp_client例程为何去掉发送后,一直接收就会容易出现数据粘包呢?
/ portTICK_PERIOD_MS);}
代码如下,当我使用tcp_client例程,并且把发送数据注释掉,再接收数据就很容易出现TCP数据粘包,求助
[22:43:18.32
发表于 06-17 07:47
请问STM8L052R8的EEPROM到底是几个block?
哪位知道STM8L052R8的EEPROM到底是几个block,手册上写的不清不楚,按FLASH说的话,052应该是高密度的,但是EEPROM只有256B,所以很乱,具体也不知道分为几块
发表于 05-11 08:29
lwip tcp丢包的原因?
使用lwip协议栈,作为客户端应答2帧数据时,会有粘包问题,在tcp write 后调用tcp output没有效果,设置
#define TF_NODELAY((u8_t)0x40U
发表于 05-10 06:51
共享单车到底是什么通信原理
我们经常骑的共享单车到底是什么通信原理,有人了解过吗? 一、智能车锁 共享单车最核心的硬件是智能车锁,主要用于实现控制和定位功能。
发表于 04-09 10:33
•842次阅读
评论