cocos2d 网络粘包与分包处理
【摘要】
实际的网络传输中,通常出现程序的网络消息队列长度不够时,可能导致连接方接收的数据包存在异常。这些异常表现为:一条消息存在于两个数据包里(分包),或者一个数据包里包含了两条甚至更多个消息(粘包)。这时候...
- 实际的网络传输中,通常出现程序的网络消息队列长度不够时,可能导致连接方接收的数据包存在异常。这些异常表现为:一条消息存在于两个数据包里(分包),或者一个数据包里包含了两条甚至更多个消息(粘包)。这时候我们需要将分包重组,粘包分离。本篇提供了处理这种异常的工具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)