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

直播间网站开发制作做app还是做网站合适6

直播间网站开发制作,做app还是做网站合适6,网站怎么建设的,网站在线咨询模块分析&回答 拆包和粘包是在socket编程中经常出现的情况, 在socket通讯过程中,如果通讯的一端一次性连续发送多条数据包,tcp协议会将多个数据包打包成一个tcp报文发送出去,这就是所谓的粘包。如果通讯的一端发送的数据包超过一…

分析&回答

拆包和粘包是在socket编程中经常出现的情况,

  • 在socket通讯过程中,如果通讯的一端一次性连续发送多条数据包,tcp协议会将多个数据包打包成一个tcp报文发送出去,这就是所谓的粘包
  • 如果通讯的一端发送的数据包超过一次tcp报文所能传输的最大值时,就会将一个数据包拆成多个最大tcp长度的tcp报文分开传输,这就叫做拆包

MTU

泛指通讯协议中的最大传输单元。一般用来说明TCP/IP四层协议中数据链路层的最大传输单元,不同类型的网络MTU也会不同,我们普遍使用的以太网的MTU是1500,即最大只能传输1500字节的数据帧。可以通过ifconfig命令查看电脑各个网卡的MTU。

MSS

指TCP建立连接后双方约定的可传输的最大TCP报文长度,是TCP用来限制应用层可发送的最大字节数。如果底层的MTU是1500byte,则 MSS = 1500- 20(IP Header) -20 (TCP Header) = 1460 byte。

TCP粘包/拆包发生的原因

问题产生的原因有三个,分别如下。

  • 应用程序write写入的字节大小大于套接口发送缓冲区大小;
  • 进行MSS大小的TCP分段;
  • 以太网帧的payload大于MTU进行IP分片。

粘包问题的解决策略

由于底层的TCP无法理解上层的业务数据,所以在底层是无法保证数据包不被拆分和重组的,这个问题只能通过上层的应用协议栈设计来解决,根据业界的主流协议的解决方案,可以归纳如下。

  1. 消息定长,例如每个报文的大小为固定长度200字节,如果不够,空位补空格;
  2. 在包尾增加回车换行符进行分割,例如FTP协议;
  3. 将消息分为消息头和消息体,消息头中包含表示消息总长度(或者消息体长度)的字段,通常设计思路为消息头的第一个字段使用int32来表示消息的总长度;
  4. 更复杂的应用层协议。

喵呜面试助手:一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!

http://www.yayakq.cn/news/225643/

相关文章:

  • 东莞百度网站优化网站备案成功后怎么办
  • 电子商务运营网站北京互联网大厂排名
  • 360老是提示危险网站优化设计的答案
  • 哈尔滨可以做网站的公司网站推广四个阶段
  • 儿童网站设计模板新营销平台电商网站
  • 某qq非主流个性网源码qq空间网站源码dede内核+采集规则系统小说
  • 律师微网站制作合肥优化
  • 手机网站开发者工具网站对一个关键词做排名怎么做
  • 惠州市网站建设公司怎么做网站导航外链
  • 重庆网站建设设计公司企业建站多站点管理系统
  • 企业网站模板建站流程阿里云wordpress伪静态
  • 云南公司网站制作wordpress可以自动采集吗
  • wordpress熊掌号出图该如何建设和优化一个网站
  • 网站加速器手机版wordpress 自动跳转
  • 网站安全设计长宁手机网站建设
  • 灌南网站开发厦门正规网站建设多少
  • 网站开发 运维 招投标app开发公司入
  • 重庆网站推广大全当雄网站建设
  • 网站做的好有什么用照片管理网站模板下载
  • 企业做网站的流程中国住房和城乡建设部查询网站6
  • 建网站的公司有哪些进入百度知道首页
  • 建设银行科技中心网站鞍山信息港首页
  • 建设一个购物网站需要什么意思安卓软件开发培训机构
  • 网站建设要达到什么水平月嫂服务公司网站建设方案
  • 网站分辨率做96是否会更好wordpress 标签链接
  • 免费招聘网站平台外贸网站建站多少钱
  • 微商自己做网站网页设计作业素材
  • 网站代码用什么打开互联网建设网站的的好处
  • 58同城盐城网站建设东莞学网站建设难吗
  • 织梦做中英文网站步骤学校网站建设风险分析