在进行网络开发时,不管是前后端都需要处理消息的分包和黏包。

那所谓的分包和黏包,它具体的含义是什么呢?

分包:一个消息包被分成了多个消息包进行发送

黏包:一个消息包和另一个消息包黏在了一起

如果通过描述,你无法明白它的意思,那通过下面的这张图,我相信你的脑海里就会产生分包和黏包的画面感了。

具体的表现是什么呢?

在进行网络开发时,我们收发的消息都是以字节数组的形式存在的。

消息A ——> 字节数组A(假设长度为32)

消息B ——> 字节数组B(假设长度为24)

黏包时:

收到的消息为 字节数组A  字节数组B 黏在一起的字节数组

该字节数组长度为 32+24=56

分包时:

消息B原本的一个字节数组B,被分成了2段(或更多)

字节数组B1(假设长度为10)

字节数组B2(假设长度为14)

由于有分包和黏包的情况存在,当我们接收到远端发来的消息后,必须合理的对消息(字节数组)进行处理,才能够正常的获取远端数据。

 解决方案:

在我正在更新的【唐老狮】Unity网络开发基础 当中,详细的为大家讲解了应该如何处理分包和黏包问题。

【唐老狮】Unity网络开发基础_哔哩哔哩_bilibili

该课程正在7折销售中,通过这套课程的学习,不仅可以学习网络通信基础理论

还可以帮助你完成Unity网络开发需求

购买链接:https://www.taikr.com/goods/show/1164

本课程属于Unity实战就业套餐

了解详情:https://www.taikr.com/goods/show/590

【唐老狮】Unity网络通信中的分包、黏包相关推荐

  1. 【唐老狮】商业游戏开发前后端程序区别

    客户端程序员=前端程序员 包括 Unity程序员 UE程序员 Cocos程序员 Egret程序员 Laya程序员 Flash程序员 等等 服务端程序员=后端程序员 包括 C++程序员 Java程序员 ...

  2. 【唐老狮】C#四部曲之C#基础:习题汇总

    本篇文章对视频教程 <[唐老狮]Unity系列之C#四部曲-C#基础 > 当中的课后练习题进行了汇总,方便同学们统一进行练习和复习 这些习题的解题部分都在本教程中以视频的形式进行了详细讲解 ...

  3. 【唐老狮】C#四部曲之C#入门:习题汇总

    本篇文章对视频教程 <[唐老狮]Unity系列之C#四部曲-C#入门 > 当中的课后练习题进行了汇总,方便同学们统一进行练习和复习 这些习题的解题部分都在本教程中以视频的形式进行了详细讲解 ...

  4. 【唐老狮】字符编码(ASCII,Unicode和UTF-8)

    [什么是字符编码] 字符编码(英语:Character encoding)也称字集码 是把字符集中的字符,编码为指定集合中某一对象,以便文本在计算机中存储或通过网络进行传递. 说人话:计算机里只能存数 ...

  5. 【唐老狮】C#——转义字符

    [转义字符] ​ 强记忆 一句话 ↓↓↓↓ 转义字符 是字符串的一部分 ↓↓↓↓ 用来表示特殊含义 [常用转义字符] \n --换行  \' --单引号  \" --双引号 \\ --反斜杠 ...

  6. 【唐老狮】C#——多态和vob

    ​    ​截止目前,我们已经学会了面向对象中封装和继承两大特性的相关知识点.简单理解它们,封装就是用代码形容一个现实对象,继承就是复用代码,通过继承可以让类之间建立父子关系,复用一些特征和行为. ​ ...

  7. 【唐老狮】C#——结构体和类的区别

    [结构体和类的区别] 结构体是值类型,类是引用类型 结构体存在栈中,类存在堆中 结构体成员不能使用protected访问修饰符,而类可以 结构体成员变量申明不能指定初始值,而类可以 结构体不能申明无参 ...

  8. 【唐老狮】C#——类型转换

    目前我们学习了变量的知识,我们知道不同的变量类型,存储的数值范围或者存储的数值类型是不同的. 比如不同的存储范围有符号整型sbyte.int.short.long以及无符号整型byte.uint.us ...

  9. 【唐老狮】C#——封装:运算符重载

    ​    ​目前我们学过的变量中,除了几种自定义的变量(结构体.类.枚举),语言本身的13种常用变量类型byte.int.float等等都默认支持用运算符进行计算,也支持条件运算符进行比较.今天我们要 ...

最新文章

  1. 【美团】招聘计算机视觉研究岗实习生
  2. python 四舍五入保留小数输出
  3. otc机器人氩弧焊机_轻松搞定砂光机前后连线翻转!【富全智能】全自动180度圆筒式翻板机...
  4. java中map怎么遍历,Java中怎么遍历Map的所有的元素
  5. 4g无线网卡搭建服务器,我买了一个4G无线网卡,可不知道怎么在手机里使用?
  6. Office PPT如何切换到返回幻灯片
  7. Host 'xxx' is not allowed to connect to this MySQL server.
  8. JSTL和EL的使用
  9. [Flink]Flink DataStream API 概览
  10. jquery学习笔记一之window.onload与$(document).ready()区别
  11. 28.MySQL Variables
  12. Android_GNSS原始数据转为Rinex文件
  13. 计算机主机电源功率查,电脑电源功率怎么测试?查看电脑功耗的操作方法
  14. ActiveMQ--CVE-2015-5254
  15. springBoot-Quartz 定时任务
  16. 尚硅谷nodejs入门教程_笔记
  17. u盘装linux系统简单方法,用u盘安装linux系统的简单方法教程
  18. 【数据库】四(1)、数据查询之单表查询
  19. 个人微信协议接口开发
  20. 基于Ensp企业网的无线组建与实验的仿真设计

热门文章

  1. 安装vue3.0脚手架
  2. matlab上升时间,上升时间(上升时间反映了系统的)
  3. C语言编程经典案例——输出100~1000以内的水仙花数
  4. 阻止touch事件穿透
  5. 接入腾讯云直播笔记--直播录制鉴黄配置篇
  6. 1分钟链圈 | 闪电网络通道数增加29.5%,突破1.1万条通道!EOS 在过去七天区块链活跃度中排名第一...
  7. 从”超女”和”好男”的”崛起”看中国人的”劣根性”
  8. linux表示第一块网卡,【单选题】一般情况下,Linux 系统中第一块以太网卡的名称是( ) A. 本地连接1 B. netcard0 C. loop0 D. eth0...
  9. Vue 新手学习笔记:vue-element-admin 之入门开发教程(v4.0.0 之前)
  10. 雅讯天地游java戏,雅讯天地RPG大作《铸剑传说》出世