网络游戏开发中通信协议的选择

在网络游戏开发中,通协议是免不了的一个环节

无论对于客户端开发者还是服务器程序员而言、制定或选择一个合适的通信协议是很有必要的

通过在最近几个项目开发中用到的一些协议,就个人给大家总结一下

1 . 自定义二进制通信协议数据包,这种方式是最古老的方式之一,当然也可能是最省字节的通信方式, 不过面对多个通信接口, 前后端开发的定义必须要充分的沟通,协商好,而且调试起来也相对比较麻烦

2. 以字符流的方式传输XML或JSON  当然前几年中在页游开发中用XML交换数据的还是蛮多的,不过JSON相对于JSON更小更方便

3. google-protobuf 我第一个手游项目用的数据交换协议,源于谷歌公司内部使用的一款项目, 如今在手机网络游戏逐渐取代网页游戏的今天,在开发手机游戏中,不得不考虑一个问题: 流量,一般电信、联通、移动运营商都是以套餐的方式定制一定的数据流量大小 ,如果还是以XML或JSON传输的话,在强联网的游戏中通信几次就会将流量消耗一大半(或许有点夸张),所以在移动端的开发中更合适以字节方式的传输,google-protobuf 已经帮我们封装了很多、具体的使用方式大家可以谷歌或百度一下相关资料


4.  apache thrift 源于Facebook的开源项目先如今贡献给apache组织,与google-protobuf齐名、都以低字节数出名,不过thrift相对于google-protobuf支持的语言更多,大家可以参考这个资料http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/

文章转载自 dmdq.org - 代码大全: http://www.dmdq.org/thread-89-1-1.html

posted @ 2014-01-01 14:07  代码大全  阅读(6908)  评论(0编辑  收藏  举报