现在流行的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没压缩)
分享到:
相关推荐
用于 分析 解析amf数据包,以便开发或修改接口,具体请看工具提示
之前测试解析amf3协议数据进行树化便于观察的,解析的有可能不是很完美,正常用来观察里面的数据没什么问题
AMF3 C++ 源码 修改版 支持序列化和对象化的AMF3解析
amf3_spec amf3_spec amf3_spec amf3_spamf3_specec
AMF3 C++ AMF3 C++ 源码库码库
AMF3协议中文版定义.pdf
自己写的flash webgame 搭建的java 后台 解决了安全沙箱问题,可以进行聊天,和后台java函数的请求及响应。amf3 编码。
amf3_spec_05_05_08.pdf amf3_spec_05_05_08.pdf amf3_spec_05_05_08.pdf
一个用C++编写的,amf3协议解析模块,可以实现flash通信协议的解析
amf3 的格式说明,英文版,做rtmp协议或者做与flash数据交互服务器端必备的参考
Action Message Format AMF3中英文对照 本人翻译 Abstract Action Message Format AMF is a compact binary format that is used to serialize ActionScript object graphs Once serialized an AMF encoded object ...
Adobe Flash AMF3 specification for flash player 9 and above serialization and communication.
amf0 原版文档 完整版
支持AS3的ByteArray序列化对象的AMF格式编码、解码( readObject、writeObject )。 支持AS3的ByteArray的compress、uncompress压缩算法:DEFLATE、LZIB、LZMA。 支持直接修改AS3的ByteArray字节流内编码的对象。 ...
NULL 博文链接:https://leopard0825.iteye.com/blog/644028
易语言amf解析构造源码,amf解析构造,分析amf,取短整数_字节集,时间到双精度,到时间_双精度,取整数_字节集,integer_字节集,取双精度_字节集,amf3型数据,十六进制转字节集,分析数据段,解析amf数据,解析amf3数据,Utf8转...
AMF1.0(AMP).zip 代码
lua-amf3:用于Lua的AMF3编码解码模块
amf c# flex服务端协议解析和封装。
《RTMP协议中AMF的定义》,原名《TheAMF》英文版本。 内容简介: The AMF object is used for the sending and receiving of all video/audio data. After the initial handshake, all objects sent use the AMF ...