用java写的多服务器通讯框架基本成型,为了给框架增加多语言的支持,以便可以支持与多种语言开发的客户端互相通讯,目前暂定Flash,java,C三种语言,综合考虑,选用google protocol buffer。以前在开发游戏服务器的项目中使用过protobuf,感觉和ice相比功能上有点弱,但因为是google家的,现在用的人比ice多。
一、下载
protobuf
地址:http://code.google.com/p/protobuf/downloads/list
默认支持c,java,python,因为要选择对as3的支持,所以这里选用了protobuf-2.4.0a.zip。
as3
网络上有不少可以支持as3的protobuf库项目,但是选择了几个,都不是很理想,最后选择使用protoc-gen-as3,又有想重写一个的冲动,可惜没时间。
地址:http://code.google.com/p/protoc-gen-as3/downloads/list
最新的开发包里包含的是2.4.0a的java包,所以上面也选了这个版本的protobuf。
二、部署
为了操作方便,我将这些库放到一个项目里,用bat来运行,具体的项目结构如下图:
点击执行run.bat,就可以生成Java代码,只要在开发的项目中引入这个工程就可以了 。
看了这个,知道我接下来要做什么了吧 ?
目前遇到一个问题,就是protobuf没有继承关系,不能表达我原来java代码里的command,clientcommand这样的继承关系,目前虽然可以实现,但是方式还是很不优雅,有待以后对protobuf更熟悉,或是等protobuf添加对继承关系的支持后再改进。