cocos2d 网络粘包与分包处理

本文介绍了在网络通信中遇到的粘包和分包问题,重点探讨了cocos2d环境下如何通过ByteArray.lua和PacketBuffer.lua来解决这类异常。PacketBuffer.parsePackets方法用于正确解析和重组数据包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呦呦鹿鸣.

你的打赏是给予我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值