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

南充哪里做网站排超联赛积分榜

南充哪里做网站,排超联赛积分榜,电商网站设计与建设毕业论文,中国核建平台Tcp是一个流的协议,一个完整的包可能会被Tcp拆成多个包进行发送,也可能把一个小的包封装成一个大的数据包发送,这就是所谓的粘包和拆包问题 粘包、拆包出现的原因:在流传输中出现,UDP不会出现粘包,因为它有…

Tcp是一个流的协议,一个完整的包可能会被Tcp拆成多个包进行发送,也可能把一个小的包封装成一个大的数据包发送,这就是所谓的粘包和拆包问题

粘包、拆包出现的原因:

在流传输中出现,UDP不会出现粘包,因为它有消息边界

1、要发送的数据大于TCP发送缓冲区剩余空间,需要被拆包

2、待发送的数据大于MSS(最大报文长度),TCP在传输前将进行拆包

3、要发送的数据小于TCP发送的缓冲区大小,TCP将多次写入的缓冲区一次发送出去,就会出现粘包

4、接受数据端的应用层没有及时读取TCP接受缓冲区的数据,将发生粘包

粘包、拆包解决办法

1、消息定长,例如每个报文的大小固定长度200个字节,如果不够 ,空位补空格;

2、在包尾增加特殊符号分隔符

3、将消息分为消息头和消息体,消息头中包含表示消息总长度的字段,通常设计思路是消息头的第一个字段用int来表示消息的总长度

4、更复杂的应用层协议

netty对以上4种应用做了抽象,提供了4种解码器:

LineBasedFrameDecoder依次编译bytebuf中的可读字符,判断看是否有"\n"或者"\r\n",如果有,就以此位置为结束位置,从可读索引到结束位置区间的字节就组成了一行,它是以换行符为结束标志的解码器,支持携带结束符或者不携带结束符两种解码方式,同时支持单行的最大长度,如果连续读取到最大长度后,仍然没有发现换行符,就会抛出异常,同时忽略掉之前读到的异常码流

FixedLengthFrameDecoder固定长度解码器,它能按照指定的长度对消息进行自动解码,开发者不需要考虑TCP的粘包等问题,利用FixedLengthFrameDecoder解码,无论一次性接受到多少数据,他都会按照构造函数中设置的长度进行解码,如果是半包消息,FixedLengthFrameDecoder会缓存半包消息并等待下一个包,到达后进行拼包,直到读取完整的包

DelimiterBasedFrameDecoder自定义的分隔符解码,构造函数的第一个参数表示单个消息的最大长度,当达到该长度后仍然没有查到分隔符,就抛出TooLongFrameException异常,防止由于异常码流缺失分隔符号导致的内存溢出

LengthFieldBasedFrameDecoder通过固定长度来区分整包消息,消息定长,报文大小固定长度,不够空格补全,发送和接受方遵循相同的约定,这样即使粘包了通过接收方编程实现获取定长报文也能区分。

 

  ·

转载于:https://www.cnblogs.com/cherish010/p/9042626.html

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

相关文章:

  • 网站建设方案平台架构网站优化推广方法
  • 怎么用phpcmf做网站网络运营与推广
  • 仿网站视频教程重庆seo排名技术
  • 官方网站的推广策划怎么做广州网站营销推广
  • 求一个网站怎么申请域名建立网站
  • 织梦cms怎么搭建网站网站首页制作网站
  • 做3d效果图有什么好网站网站展示型推广
  • 阿里云企业网站怎么建设写一篇软文多少钱
  • intitle 网站建设优化服务是什么意思
  • 北京移动官网网站建设推广网络广告
  • 做开发房地产网站可行吗株洲24小时新闻
  • wordpress中调用分类目录文章列表seo优化排名
  • 摄影网站app外贸网站推广与优化
  • 政府网站集约化建设情况四种营销策略
  • 防伪网站怎么做爱站seo工具包下载
  • 适合国人的wordpress主题福州百度快照优化
  • 酒店网站的建设企业培训网
  • 商丘网站建设略奥网服装市场调研报告
  • 家用电脑做网站免费seo网站诊断免费
  • 南昌网站建设有限公司网站流量统计系统
  • 北京工商局网站如何做股东变更百度网站排名搜行者seo
  • 给网站做备案合肥网站推广优化公司
  • 泉州高端网站建设小程序开发一个多少钱啊
  • 东阳企业网站微商城建设搜索引擎优化seo优惠
  • wordpress全站301西安百度竞价外包
  • 网站备案的链接包括哪些内容
  • wordpress修改站名网络营销过程步骤
  • 这么建设新的网站百度浏览器下载安装2023版本
  • 房产信息网站模板磁力链 ciliba
  • 徐州人才网招聘信息网站优化靠谱seo
  • 如何解决pip安装报错ModuleNotFoundError: No module named ‘huggingface_hub’问题
  • CSS BFC
  • 深入解析Java类加载机制:双亲委派模型的设计与实现
  • PyTorch LSTM文本生成
  • 8、Redis的HyperLogLog、事务Multi、管道Pipeline,以及Redis7.0特性
  • 首个!3D空间推理框架3D-R1:融合强化学习、推理链、动态视角,实现7大任务SOTA!