欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

AMF3,JSON,protobuffer

程序员文章站 2022-07-08 17:49:41
...

现在流行的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