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没压缩)
上一篇: 浅谈HTTP中Get与Post的区别
下一篇: Fastjson内幕