AS3与Red5之间的参数传递

原创 2008年02月20日 17:00:00
差不大一年没去动red5了,现在因为项目需要又开始使用red5,呵呵,先写些基本应用吧
参数传递是最基本的,之前是as2,现在用as3与red5 0.63了,几乎没什么变化.不过flash这边的可以传递的参数也就多了一些.就基本的是
String,int,Number,Boolean,Array,对应到red5这边是String,int,double,boolean,List
下面看基本的代码吧:
Flash:
程序代码 程序代码

/**
 * @(#)ParamRed5.as
 * @author soda.C
 * @version  1.0
 * <br>Copyright (C), 2007 soda.C
 * <br>This program is protected by copyright laws.
 * <br>Program Name:GameHall
 * @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);
        }
    }
}

接下来看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));
        }
    }
}

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


不过,还是我是传上源代码
下载文件点击下载此源代码
版权声明:本文为博主原创文章,转载必须声明出处和作者。地址:http://blog.csdn.net/sujun10 作者:弃天笑

air 学习笔记:bat 调用air 传递参数 打包

最近在同事的指导下,发现了bat 调用exe 的y
  • hero82748274
  • hero82748274
  • 2014年07月05日 17:01
  • 1855

jsp页面之间传递参数

今天老师讲了jsp中四种传递参数的方法,我觉得总结一下,挺好的,以备后用! 1、form表单 2、request.setAttribute();和request.getAttribute(); ...
  • fangqun663775
  • fangqun663775
  • 2014年08月13日 16:49
  • 2270

request的转向以及servlet之间参数的传递

request的转向1.sendRedirect() 概念:重定向 代码:sendRedirec(“welcome?uname=shunping”);//问号之前为任何一个URL,后面是...
  • lingadobe
  • lingadobe
  • 2016年11月07日 23:11
  • 1752

Adobe FlasCC中 C++端与Flash端的函数参数(如数组和ByteArray)传递

节选自:Using C++ code for path finding in your ActionScript game   如下为C++端接口,as3api.cpp: /* ** ADOBE SY...
  • songxp03
  • songxp03
  • 2013年11月20日 09:27
  • 3291

springmvc在controller和视图之间传递参数

Spring MVC3在controller和视图之间传递参数的方法:  一, 从controller往视图传递值,controller---->视图   1)简单类型,如int, String,直接...
  • zengmingen
  • zengmingen
  • 2016年07月14日 10:44
  • 3469

不同类之间数据的传递的方式

不同类之间经常涉及到数据的传递,游戏中,比如2个界面等,开始我不太熟悉,有时还用静态变量去传递数据,感觉很可笑,意识到自己面向对象思想掌握的很一般般。 其实最好的办法还是通过构造方法的参数去传递数据!...
  • themagickeyjianan
  • themagickeyjianan
  • 2016年01月25日 11:16
  • 964

前端在html页面之间传递参数的方法

项目中经常会出现的一种情况,有一个列表,譬如是案例列表,点击列表中的某一项,跳转至详情页面。详情是根据所点击的某条记录生成的,因为案例和具体的详情页面,都是用户后期自行添加的,我们开始编写时,不可能穷...
  • liuyan19891230
  • liuyan19891230
  • 2016年03月23日 11:04
  • 46780

js搞定两个网页之间值的传递

假设我们有两个网页a.html和b.html,在a页面中点击一个超链接或者按钮跳转到b页面,并传递一个地址给b页面,b页面接收到地址后进行跳转到接收的地址 首先,在a页面中插入一个超链接 超链接...
  • baidu_25943379
  • baidu_25943379
  • 2016年03月28日 13:42
  • 2274

C#不同类间通过事件传递参数

C#中不同类之间传递参数的方法有许多,这里介绍其中一种方法,通过事件传递参数:    定义两个类ClassA和ClassB,要通过事件将ClassA中成员class_A,传递到ClassB,同时Cla...
  • HolaMirai
  • HolaMirai
  • 2015年06月16日 22:13
  • 1166

Activity之间传递数据的方式及常见问题总结

Activity之间传递数据一般通过以下几种方式实现: 1. 通过intent传递数据 2. 通过Application 3. 使用单例 4. 静态成员变量。(可以考虑WeakReferences) ...
  • Rflyee
  • Rflyee
  • 2015年08月12日 11:39
  • 6857
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AS3与Red5之间的参数传递
举报原因:
原因补充:

(最多只允许输入30个字)