当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
两版本AMF协议数据处理对照
发布时间:2010/6/29 9:54:48 来源:城市学习网 编辑:ziteng
  AMF协议是Action Message Format协议的简称,AMF协议是Adobe 公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的xml不同在于AMF是二进制数据,而xml是文本数据,AMF的传输效率比xml高?AMF使用http方式传输,目前主要用于ActionScript中,实现Flex与 Service之间的通信?目前最新的版本是AMF3?AMF最大的特色在于可直接将Flash内置对象,例如Object, Array, Date, XML,传回服务器端,并且在服务器端自动进行解析成适当的对象,这就减轻了开发人员繁复工作,同时也更省了开发时间?由于AMF采用二进制编码,这种方式可以高度压缩数据(对flash中的AMF3的误解),因此非常适合用来传递大量的资料?
  数据量越大,Flash Remoting的传输效能就越高,远远超过Web Service?至于XML, 它们使用纯文本的传输方式,效能就更不能与Flash Remoting相提并论了?除了AMF编码进行高效数据操作的功能之外,Byte Array还有一个很酷的功能,就是从内存中深层次的Copy(Clone)整个对象,请参考使用Byte Array及AMF来提高Data Object的操作效率?
  AMF协议目前有两种版本,AMF0和AMF3,他们在数据类型的定义上有细微不同?
  1.TypeByte codeNotes
  2.Number0×00
  3.Boolean0×01
  4.String0×02
  5.Object0×03
  6.MovieClip0×04Not available in Remoting
  7.Null0×05
  8.Undefined0×06
  9.Reference0×07
  10.MixedArray0×08
  11.EndOfObject0×09See Object
  12.Array0x0a
  13.Date0x0b
  14.LongString0x0c
  15.Unsupported0x0d
  16.Recordset0x0e Remoting, server-to-client only
  17.XML0x0f
  18.TypedObject (Class instance)0×10
  19.AMF3 data0×11 Sent by Flash player 9+
  对应的枚举就是
  1.public enum DataType
  2.{
  3. Number = 0,
  4. Boolean = 1,
  5. String = 2,
  6. UntypedObject = 3,
  7. MovieClip = 4,
  8. Null = 5,
  9. Undefined = 6,
  10. ReferencedObject = 7,
  11. MixedArray = 8,
  12. End = 9,
  13. Array = 10,//0x0A
  14. Date = 11,//0x0B
  15. LongString = 12,//0x0C
  16. TypeAsObject = 13,//0x0D
  17. Recordset = 14,//0x0E
  18. Xml = 15,//0x0F
  19. TypedObject = 16,//0x10
  20. AMF3data=17//0x11
  以上表列出了AMF协议的每种数据类型的表示方法。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved