- 浏览: 132850 次
- 性别:
- 来自: 北京
文章分类
最新评论
【转载】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可以建立持久连接,因此可以用来做网游, 多人聊天,视频等应用。
使用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传输这种压缩的数据格式, 而且传输的的数据还包括
大家又公认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从swf中加载资源和类
2013-12-10 09:37 725需要为直播播放器做几个新的样式,想将每个样式的布局XML和 ... -
swf加载swf的一些问题
2013-03-20 17:31 6811,swfParent 加载 swfChild,如果有交互, ... -
NetStream appendBytes 一点经验
2013-03-20 16:25 2535最近在做基于 NetStream ... -
【译】HTML5还需要什么才能击败Flash(part 2)
2012-04-01 17:53 0What else does HTML5 need to ... -
【译】HTML5还需要什么才能击败Flash(part 1)
2012-04-01 16:36 1056What else does HTML5 need to de ... -
AS 函数作用域、函数闭包、限界方法
2012-03-30 10:21 1428作用域链(scope chain): 任何时候函数开始 ... -
在AS3中自定义全局方法
2012-03-29 11:17 918http://en.flash-ripper.com/2007 ... -
Flex Class object(类对象)构成、traits和prototype
2012-03-29 10:59 1521先贴张图: 每个矩形代表一个对象。CA代表class ... -
使用flex sdk3.6的asdoc遇到的问题及解决方法
2012-03-26 10:24 1893想要对一个组件项目导出asdoc。组件的sdk是3.6,但使用 ... -
UIComponent添加Image不显示
2012-03-18 17:32 985在UIComponent中添加Image组件,图片不显示。 ... -
Flex优化技巧
2012-03-30 09:46 861http://www.jb51.net/article/182 ... -
Flex中多个柱状图和折线图的问题
2012-02-28 17:53 1943做了个柱状图和折线图的混合图表,2根3D的柱子,6根折线,遇到 ... -
AdvancedDatagrid的dataprovider属性
2012-02-22 10:15 777高级dataGrid的dataProvider的set方法里并 ... -
Sprite的宽高设置及Flex组件的混淆
2012-02-02 10:23 1653由于Bitmap和InteractiveObject同级,都继 ... -
Flex SDK3.5 PollingChannel.as 存在内存泄露bug的一种解决方法
2011-12-31 15:32 1258bug见前面的一篇文章: http://xltank.ite ... -
TextInput的ErrorString样式
2011-10-25 13:08 864http://blog.minidx.com/2008/05/ ... -
【转】Flash Player的 mm.cfg文件
2011-10-08 17:17 5139http://jpauclair.net/mm-cfg-sec ... -
Flex trace() 保存路径
2011-10-08 17:11 1052http://help.adobe.com/en_US/fle ... -
给ItemRenderer传参
2011-08-18 17:19 1433给ItemRenderer传递初始参数,可以根据参数灵活生成I ... -
AdvancedDatagrid改变行的颜色
2011-08-16 15:25 1574最早我尝试重写AdvancedDatagrid的drawRow ...
相关推荐
纯flex网站前台,通过httpservice、webservice进行数据交互
Flex加载xml数据三种方式:HTTPService XMLLoader XML类
Flex与后台交互的方法_HTTPService_WebService_URLLoader
flex通过Http和WebService与服务器通信交互,交互后台采用java的Struts2做为处理后台.
Flex端实例源码 博文链接:https://zmx.iteye.com/blog/810138
简单的 flex HttpService例子,可供初学者参考
flex4出来一段时间了,去年看了一段时间flex3,后来由于暂时没有项目需求.所以flex遗忘了很多.这次使用flex4+myeclipse8.5录制了一个视频.以免时间长了遗忘. 软件环境:windows7+... 3 flex与webservice交互WebService
Flex是不能直接连接数据库的,它只能间接地连接数据库。Flex中提供了三种方式:HttpService,WebService 和RemoteObject,本文详细介绍flex怎么连接数据库。
flex与java通讯,URL,HTTPService,Socket 供初学者参考
flex4 httpservice 例子 提取xml数据
FLEX 培训教材 轻松学习flex
flex与后台交互的几种方法的代码。包括httpservice以及webservice的两种方式。
这是本人做的Flex4 通过HttpService与Java进行交互项目,本人测试通过。本人在此声明运行环境为:MyEclipse 8.5,JDK 6,Tomcate 6,Flex 4. 本人已经将Flex4整合到Myeclipse 8.5中去了,所以这个项目是在MyEclipse ...
使用 ADOBE FLEX 45访问数据 目录 第 1 章: 访问数据服务概述 Flex 与其它数据访问技术的比较 使用 Flash Builder 访问数据服务 数据访问组件 第 2 章: 使用 Flash Builder 构建以数据为中心的应用程序 创建 Flex...
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
Flex 使用HttpService组件发送XML数据与java交互 例子+文档
flexdemo示例有兴趣可以看看 1 flex 与普通java类通信RemoteObject 2 flex 与服务器交互HTTPService 3 flex与webservice交互WebService