AS3.0 不使用第三方组件直接调用 Macromedia Flashremoting 1.0

需求说明:客户端升级到AS3,服务器不变.
环境说明:
服务器 Windows2003 + .net 框架 1.1.4 + macromedia remoting.net 1.0
客户端 flash CS4 使用 as3编译通过.
以下是示例代码.一共2个文件.
 
clsAMF0.as
//----------
package {
 import flash.net.Responder;
 public class clsAMF0 {
  flash.net.NetConnection.defaultObjectEncoding=flash.net.ObjectEncoding.AMF0;
  private static var nc:flash.net.NetConnection = new flash.net.NetConnection();
  private var array:Array;
  public function clsAMF0(_r:String) {
   nc.client=this;
   nc.connect(_r);
  }
  public function close() {
   nc.close();
  }
  public function go(s:String,r:Responder,...para:*) {
   //以下代码实现可变长度参数
   array=new Array();
   array.push("."+s);
   array.push(r);
   nc.call.apply(nc,array.concat(para));
  }
 }
}
//----------
 
 
 
 
 
 
test.fla
拖个按钮出来,命名btnTest
主帧上建立脚本
//---------------------------
btnTest.addEventListener(MouseEvent.CLICK,btnClick);
var k:clsAMF0 = new clsAMF0("http://xxx.yyyy.com/gateway.aspx");//<--网关
function btnClick( event:Event ):void {
//服务器根目录下有个 http://xxx.yyyy.com/bb.aspx 为服务调用接口
 k.go("bb",new Responder(SuccResult,OtherStatus),"/CKQ",213016);//<---此处参数可变长度.
}
function SuccResult(re:String) {
 trace("\n成功!返回=" + re);
}
function OtherStatus(error:Object) {
 trace("错误!" + error.description);
}
 
clsAMF0.as 和 test.fla 放一起.
调试通过.


posted on 2009-10-09 16:18  钢铁奏鸣曲  阅读(351)  评论(0)    收藏  举报

导航