什么是AMF?
AMF(Action Message Format)
是一种 binary format(高性能的二进制码格式)的资料型态,透过 AMF over HTTP的方式将flash端资料编码后传回server,server端的remoting adaptor接收到资料后则会译码回正确的native对象,交给正确的程序处理。
AMF除了用于Flash remoting外,也广泛的用于 Local Connection 与 Flash communication
server,它最大的特色在于可直接将flash native object,例如Object, Array, Date,
XML,传回server端,并且在server端自动进行转译成适当的对象,例如flash 的Array传回PHP时就会自动转换为
Associative Array;这个特色对开发者最大的好处在于不需要再人工处理serialization 与
deserialization的繁复工作,不但精确度更高,同时开发也更省时间。
由于AMF是binary format并且编码时经过高度压缩,因此非常适合用来传递大量的资料,根据flashorb网站的测试(主要针对web service与flash remoting),当资料量越大时,flash remoting的传输效能就越高,远远超过web service的表现,因此同样的道理也可得知xml, loadVars, loadVariables 等使用plaine text format的传输方式自然也无可比拟
AMF协议是基于Http协议的.
它的内容处理过程大致是这样:
1.从客户端获取Http请求(Request)流.
2.对流进行解串行化(Deserialize),得到服务器端程序能够识别的数据,并建立一个响应(Response)消息
3.Debug开始
4. 对流进行各种处理(记录、许可、服务)得到返回值
5.对响应流进行串行化
6.发送Http响应给客户端
Flash ActionScript 数据类型在AMF协议中对应的值是:
Number 0x00;
Boolean 0x01;
String 0x02;
Object 0x03;
MovieClip 0x04;
Null 0x05;
Undefined 0x06;
Reference 0x07;
ECMAArray 0x08;
ObjectEnd 0x09;
StrictArray 0x0a;
Date 0x0b;
LongString 0x0c;
Unsupported 0x0d;
Recordset 0x0e;
XMLObject 0x0f;
TypedObject(Class) 0x10;
340

被折叠的 条评论
为什么被折叠?



