游戏服务器之数据包头

游戏一般是自定义协议,包头的设计要从可用性和防外挂考虑。 

数据包头信息

struct msg_head

{

uint16 reserve;//保留字节(第15位是可用来标识是否压缩(0x4000))

uint16 len;//长度(从消息头标识开始计算)

uint16 base_flag;//包头标识(某个固定的值,用于查找包头的,数据包是可以写入到文件的,用于查询和重现现场)
uint16 base_sum;//交验码,这个的校验算法是可以自己定义的

uint16 base_index;//编号 这个是用于检查包的顺序的,从0开始到65535就又从0开始

uint8 first;//一级指令

uint8 second;//二级指令

};


uint32 reserve 保留字节:

可用来标识是否压缩(等)

uint32 len 包体的长度:

是从数据包头之后开始的数据包体的长度

base_flag包头标识:

如0xab87,这个可以自己写个适用的,用于查找包头的,数据包是可以写入到文件的,用于查询和重现现场

base_sum 交验码:

这个的校验算法是可以自己定义的

可以是数据包体的所有字节的和(或者位于),再位与一个特殊的字节(或和),再位与特殊的key(或和)

base_index 编号: 

这个是用于检查包的顺序的,从0开始到65535就又从0开始

first 一级系统指令,

second 二级系统指令





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值