flex数据交互方式 转
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数据交互之Remoting
一 前言 Flex数据交互常用的有三种方式:WebService.HttpService以及Remoting. WebService方式已在这篇文章中给出,这篇文章主要讲解以Remoting方式进行数 ...
- Flex数据交互之WebService
In this article you will learn how to call webservices hosted on asp.net applications from flex. Fir ...
- Flex数据交互之Remoting[转]
Flex数据交互之Remoting 一 前言 Flex数据交互常用的有三种方式:WebService.HttpService以及Remoting. WebService方式已在这篇文章中给出,这篇文章 ...
- 面对对象之差异化的网络数据交互方式--单机游戏开发之无缝切换到C/S模式
上一篇这里描写叙述了一个关于差异数据在开发过程中的一个长处,这里来演示另外一个特点:单机开发之无缝切换到C/S模式 一般C/S模式都面临一个问题: 就是开发过程中的调试难题,由于涉及到client和服 ...
- json与jsonp应用及其他ajax数据交互方式
1.json是数据交换格式,使用实例如下: $.getJSON( '/manage/asset/asset_delByIds.action', { 'ids':id }, function(data) ...
- asp.net中webservice与android的json数据交互方式设置
一 .服务器端设置 1.修改web.config 在web.config里面的的system.Web节点添加 <webServices> <protocols> <add ...
- WebService的web客户端同步、异步、多线程向服务端传入参数的数据交互方式
接着上一章的内容,在上一章中我们知道了如何.net平台下去建立一个WebService,以及同步调用.异步调用.开线程异步调用三种客户端从服务端获取数据的方式,在本章了所要讲的,是如何将客户端的数据, ...
- asp.net 前后台数据交互方式(转)
https://blog.csdn.net/luckyrass/article/details/38758007 一.前台直接输出后台传递的数据 后台代码: // .aspx.cs public st ...
- 基于Ajax技术的前后端Json数据交互方式实现
前言 使用浏览器访问网站是日常生活中必不可少的一件事情,当我们在浏览器地址栏中输入网址后会看到网站的内容,那么这个过程中发生了什么?下面简单介绍下浏览器访问网站过程. 第一步:浏览器向DNS服务器发起 ...
随机推荐
- Git Book 中文版 - Git的撤消操作 - 重置, 签出 和 撤消
Git Book 中文版 - Git的撤消操作 - 重置, 签出 和 撤消 Git的撤消操作 - 重置, 签出 和 撤消 Git提供了多种修复你开发过程中的错误的方法. 方法的选择取决于你的情况: 包 ...
- HDU 5806 NanoApe Loves Sequence Ⅱ (模拟)
NanoApe Loves Sequence Ⅱ 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5806 Description NanoApe, t ...
- poj 3041 Asteroids(最小点覆盖)
http://poj.org/problem?id=3041 Asteroids Time Limit: 1000MS Memory Limit: 65536K Total Submissions ...
- Intel HAXM
Hardware Accelerated Execution Manager的缩写. intel的硬件加速执行管理器,是一款可以使用英特尔虚拟化技术(VT)加快 Android* 开发速度的硬件辅助虚 ...
- ntdll.dll函数原型
/*NTDLL Base Functions*/NTSYSAPI NTSTATUS NTAPI NtAcceptConnectPort( OUT PHANDLE PortHandle, IN PVOI ...
- C#学习笔记(十六):Attribute
Attribute可以为类或方法添加一些附加的信息,我们可以看看MSDN对Attribute的描述: 公共语言运行时允许你添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注 ...
- C#学习笔记(八):扩展方法
还记得第一次使用DOTween时,发现缓动方法竟然是可以直接用Transform对象中调用到,当时就被震撼到了(那是还是C#小白一只).好了不多说了,今天来学习一下C#的这个特性——扩展方法. 扩展方 ...
- Objective-C: NSFileManager 的使用
在Objective-C 中的 Foundation 框架中,文件操作是由NSFileManager 类来实现的. 下面通过例子来说明如何创建一个文件,并向文件中写内容,以及如何读出文件中的内容: - ...
- setbuf和freopen
看memcached代码的时候学习了一个api,setbuf,可以设置文件流的缓冲区. #include <stdio.h> void setbuf(FILE *stream ...
- 对同一元素设置overflow-x:hidden,overflow-y:visible;属性值不生效
作者:孙志勇 微博 日期:2016年12月5日 一.时效性 所有信息都具有时效性.文章的价值,往往跟时间有很大关联.特别是技术类文章,请注意本文创建时间,如果本文过于久远,请读者酌情考量,莫要浪费时间 ...