心得:对AMF3的误解
从我知道有AMF格式开始,就一直有个印象,AMF是压缩过的字节流。而且很多地方对于AMF格式的中文化文档都是这么说。
引用:
Action Message Format (AMF) is a compact binary format that is used to serialize ActionScript object graphs. Once serialized an AMF encoded object graph may be used to persist and retrieve the public state of an application across sessions or allow two endpoints to communicate through the exchange of strongly typed data.
AMF(Action Message Format 动作信息格式)是用来序列化AS(ActionScript 动作脚本)实例对象(object graphs)的压缩的二进制格式。序列化的AMF编码的实例对象可用来持久化,并且在不同的会话中获得应用的公共状态,或者允许在两个端点(比如客户端和服务器端 --译者注)通过强类型数据交换进行通信。
我一直习惯writeObject(myObject),以为AMF3会自己压缩。
直到前几天偶尔一次测试才发现原来AMF3根本没有进行压缩,只是做了一个序列化。
原文中Action Message Format (AMF) is a compact binary format 这个compact虽然单词有压缩的含义,但这里并不是压缩的意思,而是排列紧凑的意思。意思是相对原来的xml传输,AMF3格式通过序列化了,自然比xml那些方式要小。
所以如果需要压缩还是必须先用byteArray.compress()来处理。
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2010/05/18/1737982.html如需转载请自行联系原作者
jiahuafu