AS3与Red5之间的参数传递

参数传递是最基本的,之前是AS2,现在用AS3与Red5 0.63/0.7了,几乎没什么变化.不过Flash/Flex这边的可以传递的参数也就多了一些.就基本的是 String,int,Number,Boolean,Array,对应到red5这边是String,int,double,boolean,List


/**

* @(#)ParamRed5.as

* @author soda.C

* @version 1.0

*

Copyright (C), 2007 soda.C

*

This program is protected by copyright laws.

* @data 2008-2-19

*/

package org.sujun.red5.test

{

import flash.display.Sprite;

import flash.net.NetConnection;

import flash.events.NetStatusEvent;

import flash.events.SecurityErrorEvent;

import flash.net.Responder;

/**

* 测试flash与red5之间参数的传递

*/

public class ParamRed5 extends Sprite

{

private var netConnection:NetConnection;


public function ParamRed5():void

{

netConnection = new NetConnection();


netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

netConnection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);


netConnection.connect(”rtmp://localhost/paramtest”);


}


private function netStatusHandler(event:NetStatusEvent):void

{

trace(”连接状态:” + event.info["code"]);


switch (event.info["code"])

{

case “NetConnection.Connect.Success”:

trace(”连接成功…..”);

//呼叫服务器的baseParam方法,传递基本参数,string,int,number,Boolean

netConnection.call(”baseParam”, new Responder(baseParamResult),”soda.C”,24,1000.1,false);

//封装数组,int

var ary:Array = new Array();

ary.push(1);

ary.push(2);

ary.push(3);

//封装数组,String

var ary1:Array = new Array();

ary1.push(”a”);

ary1.push(”b”);

ary1.push(”c”);

netConnection.call(”receiveArray”, new Responder(baseParamResult),ary,ary1);

break;

case “NetStream.Play.StreamNotFound”:

trace(”Stream not found: “);

break;

}

}


private function baseParamResult(obj:Object):void

{

trace(obj);

trace(”响应了…..”);

}

private function securityErrorHandler(event:SecurityErrorEvent):void

{

trace(”securityErrorHandler: ” + event);

}

}

}

接下来看Red5服务端的java代码

ParamRed5App.java,该类继承了ApplicationAdapt

package org.sujun.red5.test;


import java.util.List;


import org.red5.server.adapter.ApplicationAdapter;


/**

* 存放被flash客户端调用的方法

*/

public class ParamRed5App extends ApplicationAdapter

{

public ParamRed5App()

{

System.out.println(”被初始化了……”);

}

/**

* 接受服务器传过来的基本参数

*/

public void baseParam(String name, int age, double value, boolean flag)

{

System.out.println(”—-name—-” + name);

System.out.println(”—-age—-” + age);

System.out.println(”—-value—-” + value);

System.out.println(”—-flag—-” + flag);

}

/**

* 接受客户端传递过来的数组

*/

public void receiveArray(List<integer> intArray, List<string> strArray)

{

for(int i = 0; i < intArray.size(); i++)

{

System.out.println(”—-intArray—-” + intArray.get(i).intValue());

}

for(int i = 0; i < intArray.size(); i++)

{

System.out.println(”—-strArray—-” + strArray.get(i));

}

}

}</string></integer>


看结果…

代码很简单…….直接复制过去,建立一个Red5应用就可以使用了


本文来自: http://conjs.cn 详细出处参考:http://conjs.cn/?tag=as3red5

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值