`
wzhelp
  • 浏览: 47481 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

flex 的数据通讯

阅读更多


【转载】

文章分类:Flash编程
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效率更高。

 

分享到:
评论

相关推荐

    FLEX数据与通讯

    【Flex数据与通讯】知识点详解 Flex数据与通讯主要涉及如何在Flex应用程序中与其他程序进行数据交换和传输,包括内部数据传输以及与外部服务(如HTTPService和WebService)的交互。下面将详细介绍Flex中数据传输的...

    Flex与java通讯

    BlazeDS是免费开源的解决方案,它提供了一套基于AMF(Action Message Format)的数据传输协议,能够高效地在Flex和Java之间传递数据。LCDS是更高级的商业产品,包含BlazeDS的功能并扩展了更多企业级特性,如实时推送...

    .NET与flex的通讯方式

    .NET 和 Flex 之间的通讯方式主要涉及网络连接技术,特别是基于 Socket 的实时通信。Socket 提供了一种低级别的网络通信机制,允许 Flex 客户端与使用各种编程语言(如 C++, VB, C#, Java)开发的服务器端进行双向...

    Flex各自定义组件事件通讯例子

    在Flex开发中,自定义组件和事件通讯是构建复杂应用程序的关键技术。本示例通过一个简单的用户登录场景,深入解析了如何实现组件间的有效通信。下面将详细解释Flex自定义组件、事件处理以及它们在实际应用中的作用。...

    AMFPHP与flex通讯

    在Flex应用程序中,我们可以使用Flash Player的AMF支持来直接处理这些数据流,简化了前后端交互的过程。 在这个即时聊天示例中,我们可能有以下几个关键知识点: 1. **AMFPHP的安装与配置**:首先,你需要在服务器...

    Flex 与 C# 通讯

    Flex与C#之间的通讯是跨平台应用程序开发中的一个重要主题,特别是在构建富互联网应用程序(RIA)时。本篇文章将深入探讨如何使用Flex与C#(在WinForm环境下)通过Flash Player进行交互,以及在这个过程中涉及的关键...

    flex 与Java通讯

    Flex与Java之间的通讯是开发富互联网应用程序(RIA)时的一项关键技术。Flex作为Adobe提供的一个开源框架,主要用于构建具有丰富用户界面的Web应用,而Java则是后端服务的主要提供者,处理业务逻辑和数据管理。两者...

    flex+java前后台通讯

    Flex与Java的通信机制基于 BlazeDS 或 GraniteDS 等中间件,它们提供了AMF协议,实现了高效的二进制数据传输。理解这一过程对于构建高性能、响应式的Web应用至关重要。通过合理的项目配置、事件监听和异常处理,我们...

    flex做的即时通讯游戏源代码

    【标题】"flex做的即时通讯游戏源代码"指的是使用Adobe Flex技术开发的一款具有即时通讯功能的网络游戏。Flex是基于ActionScript 3(AS3)的开源框架,它为构建富互联网应用程序(RIA)提供了强大的工具集,尤其适用...

    flex C# 基于socket 通讯 应用程序源码

    在本示例中,"flex C# 基于socket 通讯 应用程序源码"描述了一个项目,该项目结合了这两种技术,通过Socket通信实现客户端和服务器端的数据交互。 Socket通信是网络编程的基础,它允许两个网络应用程序之间建立连接...

    flex与后台通讯方式

    一、Flex与后台通讯的基础 1. BlazeDS和LCDS:Flex与后台通信通常借助于BlazeDS或LCDS(LiveCycle Data Services),这两个都是Adobe提供的服务器端技术,用于实现Flex与Java或.NET等后端服务的集成。BlazeDS是免费...

    通过MyEclpise整合JAVA与FLEX进行通讯(通过将Flex工程加到Java web工程中)

    本话题主要关注如何通过MyEclipse这个流行的Java集成开发环境(IDE)整合JAVA与FLEX,使得它们能够有效地进行通讯。这一过程涉及到将Flex工程添加到Java Web工程中,以便在后端服务器和前端富互联网应用程序(RIA)...

    Flex与java通讯例子

    总之,Flex与Java之间的通讯涉及客户端和服务器端的交互,通常利用AMF或HTTP等协议,结合BlazeDS等中间件,实现高效的数据交换。这个例子提供了一个动手实践的机会,帮助开发者理解和掌握这种通讯方式。

    flex与java通讯配置源码demo

    在Flex和Java之间使用AMF通讯,可以实现低延迟、高效率的数据传输。Apache BlazeDS项目提供了AMF通道,使得Flex能够与Java应用服务器进行AMF通讯。在Demo中,你可以找到配置BlazeDS服务以及在Flex客户端创建...

    FLex+java 通讯

    标题中的“FLex+java 通讯”指的是使用Adobe Flex(一种用于构建富互联网应用程序的开源框架)与Java后端进行数据交互的技术。Flex是基于ActionScript编程语言和Flex框架,通常用于创建用户界面,而Java则是一种广泛...

    Flex AcrionScript 和 JavaScript 通讯

    - 数据交换:例如,JavaScript可以从服务器获取数据并传递给Flex应用,或者反之。 - 用户界面交互:如上述示例所示,JavaScript可以触发Flex应用的某些行为,反之亦然。 - 跨域通信:虽然默认受限,但在适当配置...

    ASP.NET与Flex通讯

    ### ASP.NET与Flex通讯知识点详解 #### 一、引言 在现代Web开发中,不同技术栈间的通讯是一项重要的技能。对于使用Adobe Flex构建前端应用并希望与ASP.NET后端服务进行交互的情况,掌握合适的通讯策略至关重要。...

    flex与httpService通信(java)

    在Flex中,`HTTPService`组件是用于与服务器进行数据交换的重要工具,特别是对于与Java后台进行通信时。本篇文章将深入探讨Flex与Java后台通过`HTTPService`通信的原理、配置和实践。 1. **HTTPService组件介绍** ...

    c++flex入门级通讯

    在"C++ Flex入门级通讯"这个主题中,我们将探讨如何使用C++作为服务器端技术,与Flex前端进行通信,以实现数据的交换和应用功能。 首先,Flex客户端通常使用MXML和ActionScript来创建用户界面,这些界面可以通过...

    Iframe js 和 flex 通讯

    在这种场景下,`Iframe js 和 flex 通讯`成为一个关键的技术点。Iframe(内联框架)常用于在同一个页面中加载不同源的内容,而Flex是一种用于创建富互联网应用程序(RIA)的平台,它基于ActionScript和Flash。本篇...

Global site tag (gtag.js) - Google Analytics