`

配置Red5详解(转)

    博客分类:
  • flex
阅读更多


[url=]RED5[/url] 将所有的应用程序都放在RED5根目录下的"webapps"目录。你需要为所创建的程序在webapps目录下添加相应的目录。在你的应用程序目录里应 该有一个名为"WEB-INF"的目录,用来存放你的程序的配置文件。在"doc/templates/myapp"目录有一个模板,可以用来帮你完成建 立程序的初始工作。
RED5启动的时候,在"webapps"目录的程序文件都是搜索"WEB-INF"的目录下的配置文件来完成配置的。
最主要的配置文件是"web.xml"。这个文件里包含了以下参数:
globalScope:指定全局作用范围

  1. <context-param>
  2.     <param-name>globalScope</param-name>
  3.     <param-value>default</param-value>
  4. </context-param>
复制代码

contextConfigLocation:指定配置handler的文件的位置。这些配置文件描述了客户端加入/离开的动作触发后调用的处理方法,作用范围。在描述的时候可以使用通配符来描述多个文件:

  1. <context-param>
  2.     <param-name>contextConfigLocation</param-name>
  3.     <param-value>/WEB-INF/red5-*.xml</param-value>
  4. </context-param>
  5. locatorFactorySelector:程序的根上下文,通常是"red5.xml"
  6. <context-param>
  7.     <param-name>locatorFactorySelector</param-name>
  8.     <param-value>red5.xml</param-value>
  9. </context-param>
  10. parentContextKey:父级上下文,通常是"default.context"
  11. <context-param>
  12.     <param-name>parentContextKey</param-name>
  13.     <param-value>default.context</param-value>
  14. </context-param>
  15. log4jConfigLocation:日志配置文件的位置
  16. <context-param>
  17.     <param-name>log4jConfigLocation</param-name>
  18.     <param-value>/WEB-INF/log4j.properties</param-value>
  19. </context-param>
  20. webAppRootKey:程序的全局唯一名
  21. <context-param>
  22.     <param-name>webAppRootKey</param-name>
  23.     <param-value>/myapp</param-value>
  24. </context-param>
复制代码

对于每一个Handler配置文件最少需要有三个bean
Context:用来影射路径到某个作用范围、搜索服务和Handler,它有一个保留的名字"web.context"。 其默认的类为org.red5.server.Context

  1. <bean id="web.context" class="org.red5.server.Context"
  2.      autowire="byType" />
复制代码

对于没有一个应用程序只应该有一个Context,但是同一个Context可以被多个作用范围共享
Scope:每一个应用程序最少有一个作用范围,用来将handler连接到context和服务器。作用范围可以建立一棵树,每一个客户端连接到树上的 一个节点,而共享对象存在于作用范围里。可以把作用范围看作是聊天室或者程序实例。默认的作用范围通常是web.scope,不过这名字是可以任意取的。
对于bean有以下属性:
server:与全局服务器"red5.server"相关。
parent:指定当前作用范围的父范围,通常是"global.scope"
context:当前作用范围的服务器上下文,一般指定为"web.context"
handler:对应当前作用范围的handler
contextPath:用来连接到当前作用范围的路径
virtualHosts:一个主机名或IP的列表,用来描述虚拟主机的位置,列表项目之间用逗号分隔开。

  1. <bean id="web.scope" class="org.red5.server.WebScope"
  2.      init-method="register">
  3.     <property name="server" ref="red5.server" />
  4.     <property name="parent" ref="global.scope" />
  5.     <property name="context" ref="web.context" />
  6.     <property name="handler" ref="web.handler" />
  7.     <property name="contextPath" value="/myapp" />
  8.     <property name="virtualHosts" value="localhost, 127.0.0.1" />
  9. </bean>
复制代码

为了应用程序配置方便的需要,可以将"contextPath"和"virtualHosts"放到另外一个单独的属性文件里边,而在这里使用变量来表示,为此需要添加一个特别的bean来指定属性文件的位置。

  1. <bean id="placeholderConfig"     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  2.     <property name="location" value="/WEB-INF/red5-web.properties" />
  3. </bean>
复制代码

假设在属性文件red5-web.properties里有如下的数据:
webapp.contextPath=/myapp
  webapp.virtualHosts=localhost, 127.0.0.1
则上边的bean的"contextPath"和"virtualHosts"属性即可使用变量来指定值

  1. <property name="contextPath" value="http://www.ruyiblog.com/${webapp.contextPath}" />
  2.    <property name="virtualHosts" value="http://www.ruyiblog.com/${webapp.virtualHosts}" />
复制代码

对于"contextPath"可以视为是一个根作用范围。你可以在配置好的"contextPath"路径后边随意添加其他的路径,而连接到这些路径的客户端将动态创建另外的作用范围,这些作用范围使用的是同样的handler,但拥有自己的属性、共享对象和活动流。
handler:每一个上下文需要一个handler来响应用户连接、离开作用范围时的动作,handler实现了很多方法,用户可以调用以达到特定的目 的。这个handler必须实现"org.red5.server.api.IScopeHandler"接口,当然针对共享对象和流的访问还应该实现其 他的接口。
在"org.red5.server.adapter.ApplicationAdapter"可以找到一个能够用作基类的例子,同时还应该多多参照文档以得到更多细节。
某个作用范围的handler可以如下指定:

  1. <bean id="web.handler"
  2.      class="the.path.to.my.Application"
  3.      singleton="true" />
复制代码

其中"id"属性是上边定义的作用范围里指定的。
如果你不需要任何服务端的逻辑处理,可以使用Red5默认提供的handler

  1. <bean id="web.handler"
  2.      class="org.red5.server.adapter.ApplicationAdapter"
  3.      singleton="true" />
  4. handler的例子
  5.   package the.path.to.my;
  6.   import org.red5.server.adapter.ApplicationAdapter;
  7.   public class Application extends ApplicationAdapter {
  8.     public Double add(Double a, Double b){
  9.       return a + b;
  10.     }
  11.   }
复制代码

这里假设使用上边的配置,则在客户端调用的时候使用以下方式

  1. nc = new NetConnection();
  2.   nc.connect("rtmp://localhost/myapp");
  3.   nc.onResult = function(obj) {
  4.     trace("The result is " + obj);
  5.   }
  6.   nc.call("add", nc, 1, 2);
复制代码

返回因该有输出:
The result is 3

分享到:
评论

相关推荐

    red5 配置详解

    使用red5开发基于flex的视频会议系统, red5视频流的发布和使用。

    关于red5配置详解

    red5是一个流媒体应用,本文主要讲述red5的安装后的配置

    RED5配置文件详解

    Red5 是建立在Jetty6(servlet engine) , Mina (networking)基础之上的,并通过使用Spring框架将起整合起来的.因此我们需要有一些配置文件.我们可能的通过载入properties 文件来简化配置,因此用户不需要深入了解...

    RED5安装与配置详解

    Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。RED5安装与配置详解。

    Red5+的安装和使用

    Red5+的安装和使用.doc配置Red5详解

    red5 安装入门配置详解

    基于flash 的流媒体服务器安装部署...

    Red_Hat_Enterprise_Linux_6.2安装配置图片详解

    Red_Hat_Enterprise_Linux_6.2安装配置详解

    linux下IPTABLES配置详解

    linux下IPTABLES配置详解

    Red Hat安装配置tomcat6

    Red Hat Linux Enterprise 5.5 安装配置tomcat6过程详解。

    [Red.Hat.Enterprise.Linux服务器配置与应用实战指南].李波&杨红.扫描版(ED2000.COM).pdf

    [Red.Hat.Enterprise.Linux服务器配置与应用实战指南].李波&杨红.扫描版(ED2000.COM).pdf

    Linux安装Oracle配置详解

    Red Hat Enterprise Linux AS 5.4安装Oracle 10g的全过程,图文并茂,详细讲解

    LAMP安装以及配置详解

    安装LAMP分为两种稍有不同的方法,方法的不同主要是因为所使用的PHP的版本不同... 1 PHP 4.4.4 安装环境:Red Hat Linux 注意事项:安装LINUX的时候,不要安装系统自带的apache(在Linux下名为httpd),也不要安装mysql

    STM32 GPIO 配置之ODR, BSRR, BRR 详解

    用stm32 的配置GPIO 来控制LED 显示状态,可用ODR,BSRR,BRR 直接来控制引脚输出状态. ODR寄存器可读可写:既能控制管脚为高电平,也能控制管脚为低电平。 管脚对于位写1 gpio 管脚为高电平,写 0 为低电平 BSRR 只写...

    MapReduce详解包括配置文件

    MapReduce是Hadoop提供的一套用于进行分布式计算的模型,本身是Doug Cutting根据Google的仿照实现的。 MapReduce由两个阶段组成:Map(映射)阶段和Reduce(规约)阶段,用户只需要实现map以及reduce两个函数,即可...Red

    CentOS6.5下Tomcat7 Nginx Redis配置步骤教程详解

    所有配置均在一台机器上完成,部署拓扑信息如下: 注意:由于Redis配置对jar包和tomcat版本比较严格,请务必使用tomcat7和本文中提供的jar包。 下载地址: http://pan.baidu.com/s/1bO67Ky tomcat: tomcat1 ...

    redis的主从配置方法详解

    Linux系统下的redis的主从配置方法非常简单,下面给大家分享一下redis的主从配置方法具体的操作步骤 环境介绍: OS:oracle linux 5.6 redis:redis-2.6.8 master rac1 192.168.2.101 ...[root@rac1 opt] cd red

    ORACLE 10.2.0.1 RAC for RedHat AS4 安装(详解)

    目录 第1章 RED HAT ENTERPRISE LINUX AS 4 Update 2 X86_64系统安装 1 1.1 安装准备(在所有节点上执行) 1 1.2 操作系统安装(在所有节点上执行) 2 1.3 关闭smartd、启动telnet和vsftpd...3.4 Ifconfig 命令详解 87

    linux操作系统的安装和配置

    linux的安装盒配置过程详解任务描述 Red Hat Enterprise Linux as4是linux中表现极为出色的操作系统,它以其安全、高效、稳定...为更好的管理和维护网络,我们需要熟悉和学会安装,配置Red Hat Enterprise Linux as4。

    Docker守护进程安全配置项目详解

    本文将为大家介绍docker守护进程的相关安全配置项目。 一、测试环境 1.1 安装 CentOS 7 CentOS Linux release 7.7.1908 (Core) 升级内核,重启 # yum update kernel [root@localhost docker]# uname -a Linux ...

    低清版 大型门户网站是这样炼成的.pdf

    1.2.7 功能强大的flv流媒体服务器red5 24 1.3 门户网站开发指导思想 26 1.4 ssh 2组合框架—门户网站开发之首选 28 1.4.1 mvc混血宠儿struts 2 28 1.4.2 幕后的财政部长spring 2.5 30 1.4.3 orm中间件香馍馍...

Global site tag (gtag.js) - Google Analytics