cocos2d 网络粘包与分包处理

举报
Dummy 发表于 2021/11/19 02:02:05 2021/11/19
【摘要】 实际的网络传输中,通常出现程序的网络消息队列长度不够时,可能导致连接方接收的数据包存在异常。这些异常表现为:一条消息存在于两个数据包里(分包),或者一个数据包里包含了两条甚至更多个消息(粘包)。这时候...
  • 实际的网络传输中,通常出现程序的网络消息队列长度不够时,可能导致连接方接收的数据包存在异常。这些异常表现为:一条消息存在于两个数据包里(分包),或者一个数据包里包含了两条甚至更多个消息(粘包)。这时候我们需要将分包重组,粘包分离。本篇提供了处理这种异常的工具ByteArray.lua和方法PacketBuffer.lua。
  • PacketBuffer.parsePackets方法解析处理这种异常,并返回正确的数据包。

ByteArray.lua

--[[
Serialzation bytes stream like ActionScript flash.utils.ByteArray.
It depends on lpack.
A sample: https://github.com/zrong/lua#ByteArray

@see http://underpop.free.fr/l/lua/lpack/
@see http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/ByteArray.html
@author zrong(zengrong.net)

Creation 2013-11-14
Last Modification 2014-07-09
]]
local ByteArray = class("ByteArray"
  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

文章来源: blog.csdn.net,作者:呦呦鹿鸣.,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/zhang1461376499/article/details/113625541

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。