websocket 粘包问题_websocket数据过大

websocket 粘包问题_websocket数据过大websocket 底层使用的tcp 协议。 当一次发送数据过长时,tcp 会把数据封成多个包发送;同样当数据过短时,会把数据合并成一个包发送,这种现象就是粘包。粘包的情况也有可能是接收端造成的。[参考]( http://m.blog.csdn.net/duotemplar/article/details/73193038).tcp协议相关的知识百度之。 粘包出现必然对应拆包处理。处理

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 
websocket 底层使用的tcp 协议。 当一次发送数据过长时,tcp 会把数据封成多个包发送;同样当数据过短时,
会把数据合并成一个包发送,这种现象就是粘包。粘包的情况也有可能是接收端造成的。[参考] ( 
websocket 粘包问题_websocket数据过大http://m.blog.csdn.net/duotemplar/article/details/73193038 ).
tcp协议相关的知识百度之。 粘包出现必然对应拆包处理。处理方案:

eg: 现在通过websocket传输: A 数据, B数据 (只讨论粘包的情况) 


i 接收(应用层)AB数据


根据数据的帧信息,先解析A数据,然后解析B数据

ii 接收AB1、B2(B数据分成B1,B2)

解析A数据;根据B1的帧信息(包含数据是否完整、数据长度、数据类型等)可以判断不是完整数据,缓存B1数据;


继续接收数据B2,然后解析B1B2数据(不包含B1、B2的帧信息);

iii 接收A1、A2B (A数据分成A1,A2)

根据A1的帧信息可以判断不是完整数据,缓存A1数据;继续接收A2B数据,解析A1A2数据;然后解析B数据

iv 接收A1、A2B1、B2(A数据分成A1,A2 B数据分B1,B2)

缓存A1;解析A1A2;缓存B1;解析B1B2。


       
       以上只是大致的一个处理思路,实际代码中情况要复杂一些。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169704.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 节流 防抖 技术

    节流 防抖 技术节流优化网络请求预设一个函数只有大于等于执行周期时才会执行该函数 周期内调用该函数不执行如同水滴积累够一定重量后才会落下应用场景 1 连续点击按钮切需求为间隔请求例如页面的 刷新 按钮 2 上拉加载获取数据的 上拉加载 节流技术的实现原理获取 newDate 时间求的时间差来限制一定时间内只允许执行一次指定函数以此来达到限制网络请求

    2025年9月30日
    3
  • django菜鸟教程用pycharm_runoob菜鸟教程官网

    django菜鸟教程用pycharm_runoob菜鸟教程官网Django安装以及简单项目创建(被django支配的恐惧)django简介python中有许多web框架,django无疑是一位S级选手,django是一个开放源代码的web框架,是由python写成的一个web框架.安装在安装django的同时,怎么能没有python呢django和python不可分割的一对基友,路径如下:python下载路径:https://www.pytho…

    2025年10月9日
    3
  • 用python浪漫告白_python动态心形代码

    用python浪漫告白_python动态心形代码Python是一种面向他人进行的说明型编程方法,其源代码与说明器CPython遵守GPL协议,语法简洁清晰。那么,我们用少量的Python代码能做哪些有趣的东西?让小编告诉你。一、编写浪漫的心型1、图形都是由一系列的点(X,Y)构成的曲线,由于X,Y满足一定的关系,所以我们就可以建立模型,建立表达式expression,当关系满足时,两个for循环(forXinrange;forYin…

    2022年9月24日
    4
  • Idea激活码最新教程2020.1.3版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2020.1.3版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2020 1 3 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2020 1 3 成功激活

    2025年5月23日
    11
  • cdn必须备案吗_没备案域名cdn加速

    cdn必须备案吗_没备案域名cdn加速随着互联网行业的快速发展,人们可以通过网络知道很多事情,上网早已成为了一件很普通的事情。近年来,随着网络技术的发达,也出现了不少智能虚拟网络,比如CDN加速服务,它可以让用户能够更好的获取内容。那么,CDN加速是如何使用的?需要备案吗?下面就让摩杜云来跟大家详细的介绍一下。CDN加速是如何使用的?要知道,CDN加速服务是要收费的,大家在注册域名的时候可以在摩杜云官网上找到这项服务,可以免费试用。而CDN加速的使用方法也是很简单的,现在市面上的各大域名服务商都为用户体用了CDN加速服务,在域名服务商找到C

    2025年8月26日
    7
  • VLAN标签「建议收藏」

    VLAN标签「建议收藏」1.VLAN标签定义和作用要使交换机能够分辨不同的VLAN报文,需要在报文中添加标识VAN信息的字段。IEEE802.1Q协议规定在以太网数据帧的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN标签(又称VLANTag,简称Tag),用以标识VLAN信息,IEEE802.1Q封装的VLAN数据帧格式如图所示。2.常用设备收发数据帧的VLAN标签情况…

    2022年8月10日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号