论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

AS3与Red5之间的参数传递

文章类别:Flash AS编程 | 发表日期:2008-10-6 18:37:09


差不大一年没去动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应用就可以使用了
看结果...


不过,还是我是传上源代码
下载文件 点击下载此源代码
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058