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

唐山哪个公司做网站如何在百度上推广业务

唐山哪个公司做网站,如何在百度上推广业务,企业网站建设物美价廉,排版设计欣赏粘包问题: 所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。 两种情况下会发生粘包。 发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合…
粘包问题:  

所谓粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。

两种情况下会发生粘包。

 
  • 发送端需要等缓冲区满才发送出去,造成粘包(发送数据时间间隔很短,数据了很小,会合到一起,产生粘包)
  • 接收方不及时接收缓冲区的包,造成多个包接收(客户端发送了一段数据,服务端只收了一小部分,服务端下次再收的时候还是从缓冲区拿上次遗留的数据,产生粘包)
 

只有tcp协议才会发送粘包,udp不会发生

    EX:  发送端发送数据,接收端不知道应该如何去接收,造成的一种数据混乱的现象

           在tcp协议中,

有一个合包机制(nagle算法): 将多次连续发送且间隔较小的数据,进行打包成一块数据传送. 

还有一个机制是拆包机制: 在发送端,因为受到网卡的MTU限制,会将大的超过MTU限制的数据,进行拆分,拆分成多个小的数据,进行传输.  当传输到目标主机的操作系统层时,会重新将多个小的数据合并成原本的数据

 

 


 

针对使用udp协议发送数据,一次收发大小究竟多少合适?

num < 1472 是比较理想的状态

 

udp不会发生粘包,udp协议本层对一次收发数据大小的限制是:

    65535 - ip包头(20) - udp包头(8) = 65507

 

站在数据链路层,因为网卡的MTU一般被限制在了1500,

所以对于数据链路层来说,一次收发数据的大小被限制在  1500 - ip包头(20) - udp包头(8) = 1472

 

得到结论:

    如果sendto(num)

     num > 65507  报错

     1472 < num < 65507  会在数据链路层拆包,而udp本身就是不可靠协议,所以一旦拆包之后,造成的多个小数据包在网络传输中,如果丢任何一个,那么此次数据传输失败

     num < 1472 是比较理想的状态

 

 

 

使用struct解决黏包

借助struct模块,我们知道长度数字可以被转换成一个标准大小的4字节数字。因此可以利用这个特点来预先发送数据长度。

我们还可以把报头做成字典,字典里包含将要发送的真实数据的详细信息,然后json序列化,然后用struck将序列化后的数据长度打包成4个字节(4个自己足够用了)

 

转载于:https://www.cnblogs.com/niuli1987/p/9474991.html

http://www.lbrq.cn/news/2689021.html

相关文章:

  • 汽车展示网站微信拓客的最新方法
  • 鲅鱼圈网站在哪做南京谷歌seo
  • 怎么自己做代刷网站网站快速排名优化报价
  • 小程序搭建是什么意思淘宝seo优化怎么做
  • 镇江方圆建设监理咨询有限公司网站对网络营销的认识
  • wordpress 目录权限管理指定关键词排名优化
  • 当地政府网站建设问卷调查自己做一个网站需要什么
  • 二级域名网站建设百度竞价代运营托管
  • 免费帮助建站营销网络是啥意思
  • 佛山网站设计建设网络营销策略概念
  • 网站快速收录软件云搜索网页版入口
  • 做网站帮外国人淘宝crm系统网站
  • 网站推广公司兴田德润在哪里上海最新疫情
  • 做网站服务器和域名2022黄页全国各行业
  • 90做网站整合营销传播名词解释
  • 交互设计师郑州网站建设推广优化
  • 手机网站这么做链接网站关键词如何优化
  • 制作音乐appseo咨询顾问
  • 做网站市场价seo优化主要做什么
  • 淘客类网站如何做排名指数是什么
  • 企业网站对企业有什么好处沙坪坝区优化关键词软件
  • 自己做网站制作教程最近一周新闻热点回顾
  • 网站做记录访客故事式软文范例500字
  • 专业设计网站推荐螺蛳粉营销策划方案
  • 东莞厚街有什么好玩的地方seo实战培训费用
  • 广东品牌女装都有哪些品牌seo关键技术有哪些
  • jsp网站开发实例标题栏江西seo推广方案
  • 中建铁路建设有限公司网站短视频营销常用平台有
  • 网站测试软件广告软文范例
  • 正品海外购网站有哪些怎样和政府交换友链
  • Java项目中地图功能如何创建
  • 什么时候用WS(WebSocket),什么使用用SSE(Server-Sent Events)?
  • Linux服务:Apache 虚拟主机配置指南:多站点部署三种方式详解
  • Nginx 启用 HTTPS:阿里云免费 SSL 证书详细图文教程(新手0.5小时可完成)
  • GaussDB 数据库架构师修炼(十三)安全管理(1)-账号的管理
  • Vue2篇——第二章 Vue从指令修饰符到侦听器的全面解析(重点)