二、Flash Remoting Flash Remoting这种数据接口是四个之中效率最高的! 其优点: 1.支持数据类型比较多(Converting from application server data types to ActionScript); 2.传递数据量比较大; 3.运行效率是现有几个当中最高的; 4.对各种后台的支持也比较好; 5.其还有调试模块(NetConnection Debugger)
 其缺点: 1.需要flash端装Flash Remoting MX Components(这个是免费提供的); 2.需要后台服务端装相应版本的Flash Remoting模块才可以使用,MM提供的模块有j2ee和.net两个版本是要收费的,好在网上还有两个开源的(OpenAMF,AMFPHP); 3.好像Remoting对虚拟主机的支持不太好(可以去google搜索一下,有没有解决方法).
//=====================================================; //Flash端代码说明:(我这里用as1.0版本为例,其他版本到MM站查找) //=====================================================; //加载Remoting Component代码,这个是必须的; #include "NetServices.as" //加载Remoting 调试模块代码,这个是可选择的,用NetConnection Debugger查看调试信息; #include "NetDebug.as" if (inited == null){ inited = true; //设置默认网关; NetServices.setDefaultGatewayUrl("http://localhost:8500/flashservices/gateway"); //建立网关连接; gateway_conn = NetServices.createGatewayConnection(); //获取一个服务; myService = gateway_conn.getService("myservice", this); }
//定义调用方法的函数; function getString(name){ //调用Remoting的getString方法; myService.getString(name); } //定义返回结果的函数; function getString_Result(result){ //result就为返回的结果; trace(result); } //定义返回状态的函数,此为可选的; function getString_Status(error){ trace("getString_Status"); trace(error.code); trace(error.description); trace(error.details); }
//调用函数; getString("kinglong");
//=====================================================; //服务端方法定义(我这里以Coldfusion Component为例,其他版本请参考相应的资料) //=====================================================; <!---文件名为myservice.cfc---> <cfcomponent displayname="我的服务"> <!---定义了getString方法,需将access设为remote,否则Flash remoting无法调用此方法---> <cffunction name="getString" access="remote" returntype="string"> <cfargument name="name" type="string" required="true"> <cfset myResult = arguments.name & ",欢迎你!"> <cfreturn myResult> </cffunction> </cfcomponent>
另附上Flash Remoting的在线帮助文件(Flash Remoting LiveDocs),MM网站上的Remoting相关的资料.
出处:蓝色理想
责任编辑:蓝色月光
上一页 1.LoadVars篇 下一页
◎进入论坛Flash专栏版块参加讨论
|