天天看点

flash与后台数据交换方法整理2-Flash Remting篇

二、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("

[url=:8500/flashservices/gateway]:8500/flashservices/gateway[/url]

");

    //建立网关连接;

    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为例,其他版本请参考相应的资料)

================================================================

另附上Flash Remoting的在线帮助文件(Flash Remoting LiveDocs),MM网站上的Remoting相关的资料.

    1.LoadVars(XML)

    2.Flash Remoting

    3.Webservice

    4.XMLSocket

本文转自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/2081.html