初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册

 找回密码
 加入初编室
搜索
查看: 1024|回复: 4
打印 上一主题 下一主题

[Flash 设计及应用] flash与后台数据交换方法整理2-Flash Remting篇

[复制链接]

296

主题

1132

帖子

2万

积分

超级版主

Rank: 8Rank: 8

论坛版主精华帖勋章

跳转到指定楼层
楼主
发表于 2014-11-26 21:52:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
onekey onekey
二、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(XML)
    2.Flash Remoting
    3.Webservice
    4.XMLSocket

楼主热帖
河边已是一首歌
回复

使用道具 举报

425

主题

8061

帖子

7万

积分

超级版主

Rank: 8Rank: 8

精华帖勋章论坛版主活跃会员百帖纪念荣誉勋章帅哥会员论坛万元户

沙发
发表于 2014-11-27 11:56:51 | 只看该作者
谢谢楼主提供分享

1

主题

40

帖子

103

积分

初编室士官

Rank: 2

板凳
发表于 2014-11-27 17:08:02 | 只看该作者
学习,感谢楼主提供分享。

206

主题

4455

帖子

7万

积分

初编室元帅

Rank: 14Rank: 14Rank: 14Rank: 14

活跃会员帅哥会员百帖纪念荣誉勋章论坛万元户

地板
发表于 2014-11-27 17:29:31 | 只看该作者
支持一下!!
回复

使用道具 举报

131

主题

5678

帖子

11万

积分

初编室元帅

Rank: 14Rank: 14Rank: 14Rank: 14

帅哥会员活跃会员论坛万元户百帖纪念荣誉勋章

5#
发表于 2015-1-22 08:55:06 | 只看该作者
逛一逛,顶一顶。
您需要登录后才可以回帖 登录 | 加入初编室

本版积分规则

手机版|小黑屋|初级视频编辑室

GMT+8, 2024-6-8 20:44 , Processed in 0.066279 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表