`
wzhelp
  • 浏览: 46465 次
  • 性别: 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的通信方面的知识,有关httpservice,webservice服务相关方面的知识。

    Iframe js 和 flex 通讯

    通过 Iframe 实现 js端 和 flex 相互通讯,实现数据传输

    flex与后台通讯方式

    详细介绍了富客户端应用项目中flex如何同后台的数据交换,对数据库数据如何传递和集成等方面的系统总结

    Flex与Asp.Net 通过Remoting 方式进行通讯

    Flex 与 ASP.NET 通过 Remoting 方式进行通讯前两天研究了一下 Flex 与.NET 如何进行数据交互, 并写了一个文档, 叙述得很详细,有多种“传数据”源代码,(1参数传梯,2数组传梯...等)自测通过

    flex中应用webservice进行低数据量通讯

    NULL 博文链接:https://pgwcumt.iteye.com/blog/1446730

    Flex AS3笔记

    Flex AS3笔记, 讲解FLEX的组件知识,FLEX与J2EE通讯原理 数据分布产等

    FLEX问题总汇.doc

    FLEX常见的问题总汇回答!包括一些性能的测试回复,还有一些数据服务通讯的代码示例下载。

    iBond-flex:FLEX(Federated Learning EXchange,FLEX)协议是同盾人工智能研究组设计的一套标准化的联邦学习协议

    FLEX 协议设置了参与者之间联邦学习过程中数据交换的顺序,以及交换前后使用的数据加密和解密方法。 遵守这些协议,参与者可以安全地加入联盟以提供数据或联盟服务。 FLEX 协议由两部分组成: 应用协议:这部分协议...

    FLEX4011八通道模拟量(热电偶,电压,电流)采集模块用户手册-V1.1.pdf

    FLEX-4011热电阻采集模块是FLEX-4000系列智能测控模块之一,广泛应用于温度测量的工业场合,提供了多种热电偶信号的采集以及转换,线性处理并转换成线性化的数据值,经RS-485 总线传送到控制器。FLEX-4011具有八个...

    django+mysql+vue从零开始到上线一个Demo下载网站(前后端完整源码).zip

    涉及技术要点:django: 安装,如何创建一... vue: css样式、 flex布局、vue模板语法、 vue生命周期、vue路由及传参、页面跳转、 组件属性及监听、route-view主子组件通讯、JSON对象操作、深拷贝; nignx: 配置发布网站

    JAVA 学习/工作 笔记

    J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)/LDAP/C++/Portal/即时通讯/数据建模/UML/UML设计工具(Rose、EA、PD等)/移动办公(Android、Symbian、Wap等技术)/项目管理(敏捷开发等)/软件架构...

    yitran电力载波芯片 网络协议

    Yitran 所设计、研发和销售的独特电力线通讯( PLC )技术,可充分利用现有的电力线线路实现数据通讯,从而消除了专用通信线路基础设施建设的昂贵支出。 Yitran 研发的窄带 PLC 调制解调器芯片采用了 SoC (片上...

    yitran Ynet电力载波网络协议源代码

    Yitran 所设计、研发和销售的独特电力线通讯( PLC )技术,可充分利用现有的电力线线路实现数据通讯,从而消除了专用通信线路基础设施建设的昂贵支出。 Yitran 研发的窄带 PLC 调制解调器芯片采用了 SoC (片上...

    详解IBM Rational Functional Tester 的工作原理.docx

    Rational Functional Tester 可以操控被测控件、完成用户指定的自动测试动 作,但前提是它需要具备与被测应用程序(Application Under Test,AUT)进行通讯的能力。要做到这一点,Rational Functional Tester 首先必须...

    JAVA 五年的工作经验和学习笔记

    J2SE/J2ME/J2EE/JAVA代码优化/Flex(BlazeDS、PureMVC等技术)/LDAP/C++/Portal/即时通讯/数据建模/UML/UML设计工具(Rose、EA、PD等)/移动办公(Android、Symbian、Wap等技术)/项目管理(敏捷开发等)/软件架构...

    OPC_Client.zip

    基于C#的OPC客户端程序,通过KEPSERVEREX服务器与罗克韦尔MICRO850 进行的通信,利用modbus方式。传送带控制单元由PLC、触摸屏、变频器、传送带上位置检测...实现罗克韦尔Power Flex 525型号变频器的控制及数据采集。

    Vue-Projects:Vue的Web项目

    设计模式: 解决移动端1px边框问题,运用移动端经典的css sticky footer布局,采用flex布局 预览: 3. vue-music 音乐播放器 MVVM框架:Vue.js (版本2.x) 状态管理:Vuex 前端路由:Vue Router 服务端通讯:...

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     实现的连接及通讯,所以了解一些SOAP及WSDL协议也是必需的。  5.1 如何使用gSOAP编译环境来编译SOAP客户端程序  通常,一个SOAP客户端应用的实现需要为每个客户端需要调用的远程方法提供一个存根例程(stub ...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (二) 数据集合与DataTable 与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的...

    wap网站和wap+2.0教程.

    同时它也支持所有的网络技术和承载业务,包括短消息业务(SMS)、非结构式辅助业务数据(USSD)、电路交换蜂窝移动数据(DSD)、蜂窝移动数字分组数据(CDPD)和通用分组无线业务(GPRS)。由于WAP建立在可升级的...

Global site tag (gtag.js) - Google Analytics