需求说明:客户端升级到AS3,服务器不变.
环境说明:
服务器 Windows2003 + .net 框架 1.1.4 + macromedia remoting.net 1.0
客户端 flash CS4 使用 as3编译通过.
以下是示例代码.一共2个文件.
clsAMF0.as
//----------
package {
import flash.net.Responder;
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;
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);
}
nc.client=this;
nc.connect(_r);
}
public function close() {
nc.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));
}
//以下代码实现可变长度参数
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 {
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);
}
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 放一起.
调试通过.