弃天笑(soda.C)的专栏

专注于Flash RIA和Flash网络游戏开发

用户操作
[即时聊天] [发私信] [加为好友]
弃天笑ID:sujun10
20823次访问,排名5708(-3)好友7人,关注者29
从事过java应用开发,现在从事flash网络游戏开发
sujun10的文章
原创 34 篇
翻译 4 篇
转载 7 篇
评论 58 篇
弃天笑的公告
我的新blog开张了,以后第一 时间更新的是那个blog了,之后才在这里更新,有兴趣的人可以到那里去看,主要是说Flash RIA和flash游戏的 www.sujun.org
最近评论
FANS8888:xiao18yuan@qq.com
给我发一份吧
hbhjun:我最近也在研究flash网络编程,向你学习QQ441993692
小小菜鸟:这个很不错哇~

有时间给点as和c++的实例教程吧~~:-)
sujun10:没试过,应该要做类似按钮之类的,或者插入html标签
丁仙霖:非常感谢,虽然有些地方,没看懂
文章分类
收藏
    相册
    我的相片
    Flash
    asfox Blog
    弃天笑的小窝
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 AS3与Red5之间的参数传递收藏

    新一篇: 一个Loader加载多个swf | 旧一篇: [AS3]Flash小型日志信息输出器(调试)

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


    不过,还是我是传上源代码
    下载文件 点击下载此源代码

    发表于 @ 2008年02月20日 17:00:00|评论(loading...)|编辑

    新一篇: 一个Loader加载多个swf | 旧一篇: [AS3]Flash小型日志信息输出器(调试)

    评论

    #will 发表于2008-05-22 11:59:10  IP: 123.197.41.*
    red5与oracle连接是可以的吧
    #SD 发表于2008-06-16 22:36:08  IP: 124.192.146.*
    你能为不能不要COPY别人的代码
    #弃天笑 发表于2008-06-18 21:52:03  IP: 219.136.104.*
    郁闷~~~你说我这篇文章copy谁的?
    麻烦你看清楚点,请提供地址
    我还要说他copy我的呢
    #弃天笑 发表于2008-06-18 21:52:32  IP: 219.136.104.*
    我自己写的,也去测试过结果
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 弃天笑