加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

AMF协议简介

发布时间:2020-12-15 03:59:36 所属栏目:百科 来源:网络整理
导读:AMF协议简介 博客分类: ? flex Flex WebService Flash Oracle XML? ????? AMF协议是Action Message Format协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的xml不同在于AMF是二进制

AMF协议简介

    博客分类:?
  • flex
Flex WebService Flash Oracle XML?

????? AMF协议是Action Message Format协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的xml不同在于AMF是二进制数据,而xml是文本数据,AMF的传输效率比xml高。AMF使用http方式传输,目前主要用于ActionScript中,实现Flex与Service之间的通信。目前最新的版本是AMF3。附件是AMF3的官方文档。

????? AMF最大的特色在于可直接将Flash内置对象,例如Object,Array,Date,XML,传回服务器端,并且在服务器端自动进行解析成适当的对象,这就减轻了开发人员繁复工作,同时也更省了开发时间。由于AMF采用二进制编码,这种方式可以高度压缩数据(对flash中的AMF3的误解),因此非常适合用来传递大量的资料。数据量越大,Flash Remoting的传输效能就越高,远远超过Web Service。至于XML,它们使用纯文本的传输方式,效能就更不能与Flash Remoting相提并论了。除了AMF编码进行高效数据操作的功能之外,ByteArray还有一个很酷的功能,就是从内存中深层次的Copy(Clone)整个对象,请参考使用ByteArray及AMF来提高Data Object的操作效率。

????? AMF协议是基于Http协议的.它的内容处理过程大致是这样:
????? 1.从客户端获取Http请求(Request)流.
????? 2.对流进行解串行化(Deserialize),得到服务器端程序能够识别的数据,并建立一个响应(Response)消息。
????? 3. 对流进行各种处理(记录、许可、服务)得到返回值。
????? 4.对响应流进行串行化。
????? 6.发送Http响应给客户端。

?

?下面看看java类型与As3类型之间的对应关系。

?

?

说个题外话,从oracle数据库中读取数据,如果是大整数则转化为BigDecimal,BigDecimal在Flex端会转化为String类型,DataGrid中的列排序只有两种排序类型Number和String,因此就会出现数字排序不正确的情况。解决此问题,请继续关注我的博客。

?

AS3对象与java对象的对应图。

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读