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 作者:弃天笑 https://blog.csdn.net/sujun10/article/details/2109808

AS3与RED5 播放视频

  • 2010年04月15日 14:37
  • 5KB
  • 下载

as3+red5电子白板demo

  • 2015年08月11日 10:46
  • 751KB
  • 下载

AS3播放RED5视频

package { import flash.display.Sprite; import flash.events.*; import flash.media.Video; ...
  • hacktt
  • hacktt
  • 2010-04-15 14:23:00
  • 1024

AS3 连接 Red5 示例

示例:客户端(Flex)于服务端(Red5)建立连接客户端         import flash.net.NetConnection;         import flash.net.Objec...
  • jamesjun
  • jamesjun
  • 2010-03-26 11:37:00
  • 1110

as3中函数传值是按引用来还是按值来传入参数

     在Actionscript3中所有的参数都是按引用引入的,只不过,基元数据类型是不变对象,传引用和传值的效果一样,所以,如果参数是基元数据类型,那么可以看成是传值;如果参数不是基元数据类型,...
  • wkyb608
  • wkyb608
  • 2010-10-21 21:23:00
  • 677

as3 apply() 不定参数(…rest parameters)的二次不定传递

对于Function.call() 和Function.apply 再次理解。 参考页面 http://flash006.com/336 在Cairngorm2中曾看到不定参数不能二次传递...
  • qingzhizhu888
  • qingzhizhu888
  • 2011-10-27 17:45:23
  • 1541

flash直播(可设置清晰度、分辨率、比特率)

  • 2009年06月12日 22:46
  • 17KB
  • 下载

初识AS3(五)——两点间距离

[效果] 两点划线并计算其距离.swf (2008-11-15 12:33:48, Size: 1.05 KB, Downloads: 3) ...
  • hejinde
  • hejinde
  • 2014-09-25 19:22:58
  • 318

flash接收网页传递参数的方法

这样传参数进.SWF文件里可以吗?那怎么在flash cs 3.0中接收这些参数呢?简单的例子。 我们一般向网页swf文件传入参数有两种方式,一种是URL如 test.swf?page=5.....
  • linbooooo1987
  • linbooooo1987
  • 2012-02-05 19:37:35
  • 1941

RED5流媒体服务器作为客户端转发流至另一个RED5服务器

RED5流媒体服务器,是Java开源的实现RTMP协议的服务器。有关RTMP协议,网上有很多的介绍。现在着重介绍一下,客户端连接RED5服务器的开发流程。 RED5有一个client包red-clie...
  • zhangjk2012
  • zhangjk2012
  • 2016-08-31 16:38:47
  • 2508
收藏助手
不良信息举报
您举报文章:AS3与Red5之间的参数传递
举报原因:
原因补充:

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