AMF3,JSON,protobuffer

阅读更多

现在流行的WEBGAME中,大都采用FLASH做前段,C++,JAVA或者PHP做的后台,貌似传输的数据格式大都是XML,JSON,AMF3,或者自定义封包的传输方式,最近做了个测试,发现如果用了自定义封包(GOOGLE PROTOCOL BUFFER 以下简称PB)真的能节省不少流量……

 

10ROW的数据(每行数据3列的样子)参考如下

JSON 大概就得用 500多个字节(发送JSON串)

AMF3  用了   64个字节(发送AMF对象)

PB  仅仅32个字节!!!!!!!

xml 我就没测了,我想现在做游戏的,没几个会用它来传输数据吧,后果不堪设想。

 

100ROW的数据时候(一般来说没啥必要测试,没有哪个帅哥会把自己的封包做的那么大的)

JSON 大概就得用 4个TCP包,因为我MINA段设置的TCPBUFFER为1024字节,外加1个70多字节的小包(妈呀)

AMF3 表现出色 也仅用了700多个字节

PB  614个字节

 

看来在大数据量上,PB比AMF的优势不大,其实也可以理解PB的数据包要小,因为前后两端都约定了属性名只用了1

个字节~,问题是在WEBGAME的应用中往往都是些小的TCP包,因此还是强烈推荐使用PB

(以上测试中,PB和AMF均有压缩,JSON没压缩)

 

 

你可能感兴趣的:(protobuffer)