`

【转载】Flex数据交互方法 :httpservice, webservice, RemoteObject, socket

    博客分类:
  • Flex
阅读更多

http://hi.baidu.com/zwnjiejie/blog/item/7d338c1eca7df5fe1ad57607.html

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 楼 bence 2010-04-18  
转载了,总结的很好。谢谢

相关推荐

    纯flex网站前台(httpservice、webservice进行数据交互)

    4. **数据交互流程**:在Flex应用中,通常会创建一个HTTPService或WebService对象,配置其URL、方法和其他参数,然后定义一个事件监听器来处理返回的数据。当用户触发某个操作时,如点击按钮,服务会被调用,然后在...

    Flex4.0 如何通过 HttpService和WebService与服务器进行通信

    在Flex 4.0中,你可以通过以下步骤使用HttpService: 1. 引入所需的库:在MXML文件中,确保导入`mx.rpc.http.HTTPService`库。 ```xml <fx:Import source="mx/rpc/http/HTTPService"/> ``` 2. 创建HTTPService实例...

    Flex与Java的交互

    在本文中,我们将深入探讨如何使用Flex 4与Java进行通信,并通过三种不同的方法实现这一目标:RemoteObject、HTTPService和WebService。 1. Flex与普通Java类通信:RemoteObject RemoteObject是Flex中用于与远程...

    Flex与后台交互的方法_HTTPService_WebService_URLLoader

    本文将深入探讨Flex与后台交互的三种主要方法:HTTPService、WebService和URLLoader,并重点关注基于WebService的交互方式。 一、HTTPService HTTPService是Flex中用于与HTTP服务器进行数据交换的主要组件。它基于...

    WebService数据交互事例

    在Flex中,有四种主要的对象用于数据交互:HTTPService、WebService、RemoteObject和Socket。HTTPService通过HTTP协议传输XML数据,简单易用,但处理大量数据时效率较低。WebService则遵循SOAP协议,适合通用的数据...

    Flex加载xml数据三种方式:HTTPService XMLLoader XML类

    Flex加载xml数据三种方式:HTTPService XMLLoader XML类

    Flex与Java低数据量通信息一:HTTPService

    Flex是Adobe公司开发的一种用于构建富互联网应用(RIA)的开放源代码框架,它主要使用ActionScript编程语言,与XML、AMF等数据格式进行交互。在本篇中,我们将探讨Flex与Java之间的低数据量通信,特别是通过...

    flex4与Java交互.pdf

    在本文中,我们将深入探讨Flex 4与Java交互的三种主要方式:通过RemoteObject与普通Java类通信、使用HTTPService与服务器交互以及通过WebService与Web服务通信。这些技术在开发富互联网应用程序(RIA)时,允许前端...

    Flex与.NET互操作基于WebService的数据访问

    在这种场景下,WebService作为一种标准的跨平台通信方式,使得Flex客户端能够方便地与.NET环境下的C#服务进行数据交互。 在Flex中,我们通常使用以下三种标签来实现远程数据访问: 1. `<mx:WebService>`:专门用来...

    flex数据交互_方式

    在探讨“flex数据交互方式”这一主题时,我们首先需要理解Flex是什么以及它在数据交互中的角色。Flex是一种用于构建和部署丰富的互联网应用程序(RIA)的开源框架,由Adobe Systems开发并维护。它使用MXML(标记语言...

    flex4与Java交互.docx

    在本文中,我们将探讨如何在Flex 4环境中与Java进行交互,主要涉及三种通信方式:RemoteObject、HTTPService以及WebService。这些交互方式允许Flex客户端与后端Java应用进行数据交换,从而实现丰富的用户界面和强大...

    flex4 httpservice 例子

    下面我们将详细介绍如何使用Flex4的`HTTPService`来提取XML数据: 1. **创建HTTPService实例**: 首先,我们需要在MXML文件中创建一个`HTTPService`实例,指定其URL和方法类型(GET或POST): ```xml <s:...

    FLEX 培训教材 主要讲到 HTTPSERVICE 和 WebService

    5. **HTTPService与WebService交互** - `HTTPService`是Flex中用于发送HTTP请求的组件,常用于与服务器进行数据交换。 - 在Flex应用中,可以通过HTTPService读取XML文件,并在结果返回后处理数据。 - 用户修改...

    Flex+HTTPService 例子

    在这个“Flex+HTTPService 例子”中,我们将探讨如何使用Flex与Java后台通过HTTPService进行数据交互。 首先,我们需要了解Flex中的HTTPService组件。HTTPService允许开发者发送HTTP请求到服务器,并接收响应数据。...

    flex与java通讯,URL,HTTPService,Socket

    HTTPService允许开发者配置请求方法(GET, POST等),设置请求头,处理复杂的数据格式如SOAP XML。与URLLoader相比,HTTPService提供了更多的控制和错误处理能力,适合于复杂的Web服务交互。 三、Socket Socket通信...

    Flex连接数据库三种方法

    Flex 连接数据库的方法主要涉及三种技术:HttpService、WebService 和 RemoteObject。这些技术都是 Flex 与后端服务器交互的手段,因为Flex本身并不具备直接访问数据库的能力,必须通过服务端代理来实现。 1. **...

    FLEX数据传输与交互

    1. 数据绑定:FLEX中的数据绑定是其强大功能之一,它允许UI组件的属性自动反映模型数据的变化,反之亦然。这简化了UI与数据模型之间的同步工作。 2. Model-View-Controller(MVC):FLEX鼓励使用MVC设计模式,分离...

    Flex+SpringMVC HttpService 发送XML数据

    1. 创建HttpService:在Flex项目中,通过MXML或ActionScript可以创建HttpService实例。设置URL属性为SpringMVC的Controller处理路径,method属性为POST或GET,表明请求类型。 2. 设置XML数据:使用XML类创建XML对象...

Global site tag (gtag.js) - Google Analytics