两版本AMF协议数据处理对照

网络 网络管理
下面我们来回顾一下AMF协议的基本概念以及对两个版本的数据类型差异做了总结。希望通过文章的讲解和介绍能让大家了解更多这方面的内容。

在之前的文章中,我们已经对AMF协议的基本情况作了介绍。相信大家已经对这个协议有了一定了解了。现在我们再来简单回顾一下它的基本信息。之后对于两个版本的数据处理差异再来做一个介绍。

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协议的每种数据类型的表示方法。

责任编辑:佟健 来源: 互联网
相关推荐

2010-06-17 15:37:32

WAP协议栈

2010-06-18 14:06:03

AMF协议

2010-06-21 14:37:36

AMF协议

2010-06-24 16:57:30

AMF协议

2010-06-21 15:06:45

AMF协议

2010-06-21 13:59:33

AMF协议

2010-06-18 13:53:22

AMF协议

2010-06-18 15:20:31

AMF协议

2010-06-21 13:14:09

AMF协议

2010-06-28 09:43:14

AMF协议

2010-06-28 10:03:34

AMF协议

2010-06-28 09:50:42

AMF协议

2010-04-08 13:55:18

Oracle数据处理

2024-01-31 23:22:35

vaexPython

2010-06-19 13:47:39

AMF协议

2020-11-02 15:56:04

大数据数据库技术

2018-12-07 14:50:35

大数据数据采集数据库

2017-07-21 14:22:17

大数据大数据平台数据处理

2023-07-31 08:21:22

语法校对器Pick

2021-07-20 15:37:37

数据开发大数据Spark
点赞
收藏

51CTO技术栈公众号