Flex数据交互方法 :httpservice, webservice, RemoteObject, socket

Flex数据交互方法- httpservice, webservice, RemoteObject, socket.
写在前面: 
使用SOAP Web Service同Flex交互有很多好处,但是它很慢, 使用定制化XML好一点,却不标准化. 
那么最好的ASP.Net 和flex交互方法是什么?

1. HTTPService 
实际上应该叫做XML via HTTPService, 就是用get和post方式进行数据传输,同平常的web form提交大致一 
样. 好处就是很简单,通用性高. 不管你用asp,jsp, 还是XXP, 任何可以生成标准XML的程序都可以和你的 
Flex程序进行交互. 处理大量数据时, 速度慢, 下面是个简单的例子: 登录 
http://www.helloria.com/showtopic.aspx?topicid=37&forumpage=1&page=1#53

2. WebService 
通用的叫做SOAP, 用datatable返回数据, 没有内建的Paging功能. 不直接返回dataset. 并且大型数据交互 
速度慢. 
但,它是比较通用的接口, 大多服务器通信都支持, 不过服务器端实现起来比较复杂.

3. Remoting 
基于AMF的数据交互, 速度以及性能是最好的. 支持dataset和datatable, 以及OR mapping工具. 
Fast, reliable and secure, 需要一个Flex Remoting Gateway来做数据de/seralization. 
优点: 
1.传输数据类型比较丰富。 
2.可以支持AMF0,AMF3两种数据封装类型,AMF3是Flash Player 9或更高级才能支持, 
有了AMF3,可以直接传送二进制文件流数据。

3.传输效率相对比较高。

4.对各种后台的支持也比较好。

FDS(LCDS) - 是Adobe主推的FlashRemoting服务端,功能强大(当然也支持AMF0,AMF3格式,
java和net平台都支持),质量也不错,可惜这个是需要银子的。

Blazeds - 是Adobe另外一个开源的FlashRemoting项目,基于Java平台的,支持AMF0,AMF3格式
Amfphp - 一种基于PHP的RPC工具,支持FlashRemoting中AMF0和AMF3两种格式,开源项目。
Openamf - 一种基于Java的FlashRemoting开源项目,目前只支持AMF0格式。
GDS(Granite Data Services) - 也是一个基于Java平台的FlashRemoting项目,支持AMF3的。
WebORB - 一个支持.net,java,php,ruby等开发平台的FlashRemoting项目,也支持AMF0和AMF3。
FluorineFx - 一个支持.net开发平台的FlashRemoting开源项目, AMF0, AMF3 ,RTMP, RTMPT 。

缺点 :

1.需要后台服务端装相应版本的Flash Remoting模块才可以使用。
2.如果使用虚拟主机的话配置起来比较麻烦。

4. Socket: 没什么说的,基于socket通讯的,这也是flash和传统web开发中,通讯方式最不同的地方,socket可以建立持久连接,因此可以用来做网游,多人聊天,视频等应用。

什么是AMF? AMF0, AMF3
做Flex RIA交互的都知道有3种数据交互方式, HttpService, WebService 和remoting. 
大家又公认Remoting是最有效率的方法!

那么Remoting为什么会更有效率呢, 这就涉及到数据封装格式.

AMF是Adobe独家开发的数据封装格式, AMF(Action Message Format) binary format. 
Remoting传输这种压缩的数据格式, 而且传输的的数据还包括 
ByteArray等多种形态(

參考AMF3 Specification ).


Flash可以直接访问, 并且由于它是基于二进制的数据传输,所以相对于xml SOAP、json、webService等基于字符串的数据格式,有数据体积小和效率高的特点。


AMF目前有AMF0和AMF3两种格式,AMF随着ActionScript3的问世,直接从AMF0升级到 AMF3.


Flash8以前版本只支持AMF0,flash9支持两种格式。AMF3比AMF0效率更高。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值