首页 > 其他 > 详细

自定义协议的编码解码

时间:2015-04-02 06:33:05      阅读:247      评论:0      收藏:0      [点我收藏+]

2015.4.1 wqchen.

转载请注明出处 http://www.cnblogs.com/wqchen/p/4385798.html

 

本文介绍的是一个自定义协议的编码解码工具的实现。

游戏开发中,前端后端协议一般都会协商定制通信协议的格式,统一格式后用程序脚本对应前端和后端的编程语言,分别生成一份协议的编码和解码方案,便于协议的一致性。

这样的工具有很多,比较出名的是google的protobuf,它可以支持很多种编程语言。我也曾试用过protobuf,看过一点它的实现,protobuf完全可以满足游戏开发中的协议需求,但是看起来比较复杂。于是我根据普遍性的需求写了个这样的工具,只是目前只适用于golang :P

 

看个例子,

roleInfo { 
	id:uint64,
	name:string, 				
	age:uint8
	lv:uint16,money:float32,
	exp:uint32,soul:float64,
	unarray:[uint8],
	skill:[string],			
}

roleInfoList {
	therole:roleInfo
	roleList:[roleInfo]
}

这是前后端自定义的协议模板,roleInfo 是协议结构名字,它的members只要支持build-in类型协议字段以及它们的数组嵌套就可以了;然后还需要支持协议里嵌套其他协议的,例如roleInfoList。

 

具体的模板文本解析,以及怎样自动生成编码/解码的函数调用,请看这里的github链接 ,欢迎拍砖 :)

 

自定义协议的编码解码

原文:http://www.cnblogs.com/wqchen/p/4385798.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!