RED5学习(二)——第一个red5项目

配置好环境后,我们就可以动手写一个简单的demo了。

       一,在eclipse下新建一个工程:FirstRed,将red5安装目录/red5.jar和red5安装目录/lib下的所有jar包加入到FirstRed工程中

      二,新建包first在其下建立类Application

package first;

import org.red5.server.adapter.ApplicationAdapter;
import org.red5.server.api.IConnection;

public class Application extends ApplicationAdapter{
     public boolean appConnect(IConnection conn,Object[] args){
         return true;
     }
     public String getServerStr(String str){
         return str+",这是从服务器返回的值";
     }
}

 

       三,在red5安装目录下找到webapps目录,进入后新建文件夹FirstRed,在FirstRed下再建立WEB-INF,然后再WEB-INF下建立classes文件夹和red5-web.properties,red5-web.xml,web.xml三个文件,

      内容如下:

       1,red5-web.properties文件:

                webapp.contextPath=/FirstRed
                webapp.virtualHosts=*

       2,red5-web.xml文件:

               

      3,web.xml

        如果有安装试例程序,可以将其下的同样文件拷过来

        改其中的

                 <context-param>
        <param-name>webAppRootKey</param-name>
        <param-value>/FirstRed</param-value>
    </context-param>

          这里/FirstRed就是我们的工程名。

      4,在classes下建立文件夹first,把刚编译过的Application.class拷到first文件夹下

   到此大功告成,可以启动red54服务器,

    四,编写flex客户端程序

      在flex下新建一flex项目,建立mxml文件

             <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            private var rtmpURL:String="rtmp://192.168.1.180:1935/FirstRed";
            private var conn:NetConnection=new NetConnection();
            private var isConnectSuccess:Boolean=false;
            private var responder:Responder=new Responder(resultFun);
            private function resultFun(object:String):void{
                trace(object);
                result.text=object.toString();
            }
            private function clickConnect(e:MouseEvent):void{
                conn.addEventListener(NetStatusEvent.NET_STATUS,netStatus);
                conn.connect(rtmpURL);
                Alert.show("连接成功!");
                connServer.enabled=false;
            }
            private function click(e:MouseEvent):void{
                invoke();
            }
            private function invoke():void{
                if(isConnectSuccess){
                    conn.call("getServerStr",responder,str.text);//getServerStr 是服务器端方法名称
                }else{
                    Alert.show("还没连接到服务器");
                }
            }
            private function netStatus(e:NetStatusEvent):void{
                trace(e.info.code);
                if(e.info.code=="NetConnection.Connect.Success"){
                    isConnectSuccess=true;
                }
            }
        ]]>
    </mx:Script>
    <mx:Button x="224" y="175" label="调用服务器方法" click="this.click(event)"/>
    <mx:TextInput x="129" y="145" id="str" width="212"/>
    <mx:Label x="129" y="119" text="显示从服务器端返回的字符" id="result" width="160"
              fontSize="12"/>
    <mx:Button id="connServer" x="129" y="175" label="连接服务器" click="this.clickConnect(event)"/

最后运行项目:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值