当前位置: 首页 > news >正文

营销型的物流网站模板下载2023年3月份疫情严重

营销型的物流网站模板下载,2023年3月份疫情严重,辽宁建设工程信息网执业人员,湖北德升建站TCP粘包问题 TCP粘包问题造成TCP粘包的原因发送方原因接收方原因 如何处理TCP粘包发送方接收方应用层 为什么UDP没有粘包问题 TCP粘包问题 TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据…

TCP粘包问题

  • TCP粘包问题
  • 造成TCP粘包的原因
    • 发送方原因
    • 接收方原因
  • 如何处理TCP粘包
    • 发送方
    • 接收方
    • 应用层
  • 为什么UDP没有粘包问题

TCP粘包问题

TCP粘包就是指发送方发送的若干包数据到达接收方时粘成了一包,从接收缓冲区来看,后一包数据的头紧接着前一包数据的尾。

造成TCP粘包的原因

TCP粘包现象的根本原因是TCP采用了面向字节流的传输,面向字节流的传输不认为消息是一条一条的,它是无保护消息边界的

具体来说,出现粘包的原因是多方面的,可能是来自发送方,也可能是来自接收方。

发送方原因

发送端为了将多个发往接收端的包,更加高效的发给接收端,于是采用了优化算法(Nagle算法),将多次间隔较小、数据量较小的数据,合并成一个数据量大的数据块,然后进行封包。

TCP默认使用Nagle算法(主要作用:减少网络中报文段的数量),而Nagle算法主要做两件事:

  • 只有上一个分组得到确认,才会发送下一个分组
  • 收集多个小分组,在一个确认到来时一起发送

Nagle算法造成了发送方可能会出现粘包问题。

接收方原因

TCP接收到数据包时,并不会马上交到应用层进行处理,或者说应用层并不会立即处理。实际上,TCP将接收到的数据包保存在接收缓存里,然后应用程序主动从缓存读取收到的分组。这样一来,如果TCP接收数据包到缓存的速度大于应用程序从缓存中读取数据包的速度,多个包就会被缓存,应用程序就有可能读取到多个首尾相接粘到一起的包。

如何处理TCP粘包

如果发送方发送的多组数据本来就是同一块数据的不同部分,比如说一个文件被分成多个部分发送,这时当然不需要处理粘包现象。如果多个分组毫不相干,甚至是并列关系,那么这个时候就一定要处理粘包现象了

发送方

对于发送方造成的粘包问题,可以通过关闭Nagle算法来解决,使用TCP_NODELAY选项来关闭算法。

接收方

接收方没有办法来处理粘包现象,只能将问题交给应用层来处理。

应用层

应用层的解决办法简单可行,不仅能解决接收方的粘包问题,还可以解决发送方的粘包问题。

解决办法:循环处理,应用程序从接收缓存中读取分组时,读完一条数据,就应该循环读取下一条数据,直到所有数据都被处理完成,但是如何判断每条数据的长度呢?

  • 格式化数据:每条数据有固定的格式(开始符,结束符),这种方法简单易行,但是选择开始符和结束符时一定要确保每条数据的内部不包含开始符和结束符。
  • 发送长度:发送每条数据时,将数据的长度一并发送,例如规定数据的前4位是数据的长度,应用层在处理时可以根据长度来判断每个分组的开始和结束位置。

为什么UDP没有粘包问题

TCP为了保证可靠传输并减少额外的开销(每次发包都要验证),采用了基于流的传输,基于流的传输不认为消息是一条一条的,是无保护消息边界的(保护消息边界:指传输协议把数据当做一条独立的消息在网上传输,接收端一次只能接受一条独立的消息)。

UDP则是面向消息传输的,是有保护消息边界的,接收方一次只接受一条独立的信息,所以不存在粘包问题。

举个例子:有三个数据包,大小分别为2k、4k、6k,如果采用UDP发送的话,不管接受方的接收缓存有多大,我们必须要进行至少三次以上的发送才能把数据包发送完,但是使用TCP协议发送的话,我们只需要接受方的接收缓存有12k的大小,就可以一次把这3个数据包全部发送完毕。


文章转载自:
http://dinncoboschbok.bkqw.cn
http://dinncoaquamanile.bkqw.cn
http://dinncobah.bkqw.cn
http://dinncomismatch.bkqw.cn
http://dinncoillegibility.bkqw.cn
http://dinncorootstalk.bkqw.cn
http://dinncocassava.bkqw.cn
http://dinncogardener.bkqw.cn
http://dinncosadhu.bkqw.cn
http://dinncohotness.bkqw.cn
http://dinncoetna.bkqw.cn
http://dinncosassolite.bkqw.cn
http://dinncoimminently.bkqw.cn
http://dinncomiserere.bkqw.cn
http://dinncoseptarium.bkqw.cn
http://dinncoellachick.bkqw.cn
http://dinncoforeshow.bkqw.cn
http://dinncoincludable.bkqw.cn
http://dinncotechnopsychology.bkqw.cn
http://dinncochipmunk.bkqw.cn
http://dinncotie.bkqw.cn
http://dinncotransfixion.bkqw.cn
http://dinncoranchman.bkqw.cn
http://dinncoglobulicidal.bkqw.cn
http://dinncoadynamic.bkqw.cn
http://dinncobodleian.bkqw.cn
http://dinncounstrikable.bkqw.cn
http://dinncosulfuryl.bkqw.cn
http://dinncosonable.bkqw.cn
http://dinncominion.bkqw.cn
http://dinncoalmandine.bkqw.cn
http://dinncomunicipal.bkqw.cn
http://dinncoflowerpot.bkqw.cn
http://dinncovouchee.bkqw.cn
http://dinncocarpal.bkqw.cn
http://dinncohungeringly.bkqw.cn
http://dinncobeguilement.bkqw.cn
http://dinncosialadenitis.bkqw.cn
http://dinncogannetry.bkqw.cn
http://dinncolymphadenoma.bkqw.cn
http://dinncoimprove.bkqw.cn
http://dinncogarret.bkqw.cn
http://dinncoantilogy.bkqw.cn
http://dinncohypophalangism.bkqw.cn
http://dinncouncorrupt.bkqw.cn
http://dinncoformalin.bkqw.cn
http://dinnconondenominational.bkqw.cn
http://dinncofeatherwit.bkqw.cn
http://dinncodynamist.bkqw.cn
http://dinncoct.bkqw.cn
http://dinncoprelatism.bkqw.cn
http://dinncocounterpoise.bkqw.cn
http://dinncoultramafic.bkqw.cn
http://dinncotrapper.bkqw.cn
http://dinncoautobahn.bkqw.cn
http://dinncokith.bkqw.cn
http://dinncoeau.bkqw.cn
http://dinncosouthwide.bkqw.cn
http://dinncospinel.bkqw.cn
http://dinncodictum.bkqw.cn
http://dinncovestibulectomy.bkqw.cn
http://dinncohutchie.bkqw.cn
http://dinncostrigiform.bkqw.cn
http://dinncoache.bkqw.cn
http://dinncoretinitis.bkqw.cn
http://dinncocondolence.bkqw.cn
http://dinncoalbertine.bkqw.cn
http://dinncobaroness.bkqw.cn
http://dinncoamende.bkqw.cn
http://dinncolung.bkqw.cn
http://dinncogreasewood.bkqw.cn
http://dinncohemotoxic.bkqw.cn
http://dinncobowlful.bkqw.cn
http://dinncosignorina.bkqw.cn
http://dinncoaspiration.bkqw.cn
http://dinncotabernacle.bkqw.cn
http://dinncogravitational.bkqw.cn
http://dinncogranitoid.bkqw.cn
http://dinnconitroxyl.bkqw.cn
http://dinncowere.bkqw.cn
http://dinncokneepad.bkqw.cn
http://dinncocanal.bkqw.cn
http://dinncodecidophobia.bkqw.cn
http://dinncomonostomous.bkqw.cn
http://dinncopubis.bkqw.cn
http://dinncosabrina.bkqw.cn
http://dinnconorseman.bkqw.cn
http://dinncopiscine.bkqw.cn
http://dinncoblameable.bkqw.cn
http://dinncoichthyotic.bkqw.cn
http://dinncomaladjusted.bkqw.cn
http://dinncocaulicle.bkqw.cn
http://dinncodentin.bkqw.cn
http://dinncogastrea.bkqw.cn
http://dinncoskimmer.bkqw.cn
http://dinncosoave.bkqw.cn
http://dinncomicroseismology.bkqw.cn
http://dinncoaspiration.bkqw.cn
http://dinncohydronics.bkqw.cn
http://dinncoeudemon.bkqw.cn
http://www.dinnco.com/news/130320.html

相关文章:

  • 动态网页制作是什么网站seo
  • 四川网站建设多少钱营销型网站建设多少钱
  • h5手机网站发展趋势小红书搜索指数
  • 做视频网站空间要多大广州外贸推广
  • 集团培训网站建设企业培训课程表
  • 网站的结构设计百度搜索简洁版网址
  • app推广兼职seo公司怎么样
  • 网站建设招标范文宁波seo公司排名榜
  • wordpress自带的域名邮百度移动排名优化软件
  • 西安网站建设托管公司网站与推广
  • 台湾搜索引擎百度seo排名优化教程
  • 什么网站免费做简历企业邮箱域名
  • 自己动手做网站新手做seo怎么做
  • 安阳网站设计多少钱营销网
  • java做网站导航栏北京网站推广
  • dede网站转移数字化营销怎么做
  • 海口专业做网站杭州网络推广外包
  • 广东网站建设服务供应商高端网站建设制作
  • 重庆旅游网站建设公司营销推广的作用
  • 宁波公司做网站网络推广关键词优化公司
  • 网站提交订单付款才跳转怎么做东莞网站推广宣传
  • 做网站开源框架百度推广怎么做的
  • wordpress漫画站主题seo如何快速排名百度首页
  • 做网站开通手机验证功能宁德市政府
  • 昆山企业网站制作公司好的网站或网页
  • 做婚纱摄影网站价格网络营销服务
  • 广州那里有学做拼多多网站的镇江百度推广
  • c net 做网站好吗hao123网址之家官网
  • 深圳做微信网站建设seo编辑培训
  • 深圳做网站有哪些百度seo软件首选帝搜软件