`

玩转Red5+Flex(4)—— Red5配置文件之解说

 
阅读更多

作者信息

 

Email: linxingliang198811@163.com

说明:有问题可以留言,发邮件!


版本说明:

       Flex 4 (Flash Build)

       Red5 1.0 

 

------------------------------------------------------—————————————————————————————

 

 

 

1. Red5配置文件之解说

 

 

4.1  /conf 配置文件

Ø  /conf/jetty.xml

servlet引擎主配置文件,如果你的应用程序是放在webapps文件中的,你就不需要更改该配置文件.该文件非常象一把瑞士军刀.你可以任意排序.关于其更多的详细信息参见jetty官方相关文档.

注:这个配置文件在Red5. 1.0版本没有找到。

Ø  /conf/web-default.xml

缺省的web xml,其在WEB-INF/web.xml之前使用,它使得将servlets添加到所有的应用程序中.可以将其理解为一个webapp的模板文件.

注:这个配置文件在Red5. 1.0版本没有找到。

Ø  /conf/keystore

文件存储指纹。

Ø  /conf/realm.properties

web的归属,用户,密码等设置。

Ø  /conf/red5.properties

通过修改该文件我们就可以很轻松的指定端口,配置参数等,而不必去编辑xml文件.我们试图将所有的公用配置放到该文件中.

Ø  /conf/red5.xml

连接上下文.不知道是什么意思么?呵呵,不用担心,你不需要编辑该文件,除非你要添加另外一个全局的上下文.你可能在管理Red5的时候才会做这样的事情.

Ø  /conf/red5-common.xml

用来配置上下文环境树的根部,所有的服务都可以用于子环境.如果你想让在全局上下文环境中分享你的服务的话,你就需要修改该文件.99%的用户不需要编辑该文件.

Ø  /conf/log4j.properties

设置日值层,和输出文件等等.该文件作用于整个服务器.除非你要在webapp中的WEB-INF文件夹中使用log4j配置替代该文件,那么你就需要修改该文件.

注:这个配置文件在Red5. 1.0版本没有找到。

Ø  /conf/red5-net.xml

安装Mina和启动Jetty.用户不需要修改该文件,类似端口的设置需要通过red5.properties文件配置.

注:这个配置文件在Red5. 1.0版本没有找到。

Ø  /webapps/red5-default-global.xml

这是全局的上下文,大部分的服务器只需要一个,但是在安全的管理虚拟主机的时候需要将全局上下文分离.如果你想要在应用程序中分享服务的时候,将其加到这里.该上下文可以操作类似客户端注册和全局作用域.

注:这个配置文件在Red5. 1.0版本没有找到。

 

4.2 Webapp配置文件

   在默认的情况下,Red5将所有的应用程序存放在根目录的"Webapps"目录下面.因此在创建一个新的应用程序之前,首先需要在这个目录中创建一个子目录.习惯上这个子目录的名字应该和马上创建的应用程序的名字是一样的.

  在你的新应用程序中,需要一个"WEB-INF"的文件夹用来存放关于使用类情况的配置文件.你可以使用Red5提供的一个模板,它可以在"doc/templates/myapp"文件夹中找到.

Red5启动的时候,所有文件夹中的配置文件都会搜索到.

Red5提供的模板中,WEB-INF下一共有四个配置文件,分别是web.xml,red5-web.xml,red5-web.propertieslog4j.properties。下面主要详解一下前两个文件的功能。

 

4.2.1 Web.xml

   主要的配置文件,它包含了如下参数:

(1).globalScope:
  "globalScope"为全局作用域,它可以使用默认的设置.
  <context-param>
    
  <param-name>globalScope</param-name>
    
  <param-value>default</param-value>
  </context-param>

(2).contextConfigLocation
  设置应用程序中控制文件的名称.这些控制文件列出了应用程序连接或断开客户端的类,同时也提供客户端可以调用的方法的类.

  控制文件还设定了这些类的有效范围.

  在这个路进中还可以使用通配符,从而可以包含进来多个文件.

  以下代码就是使用了通配符的代码,把WEB-INF/目录下所有文件名前面是“red5-”字样的xml文件包含进来,模板中是把red5-web.xml文件包含了进来。
  <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>/WEB-INF/red5-*.xml</param-value>
  </context-param>

(3).locatorFactorySelector
  指定根应用程序上下文配置文件通常是"red5.xml"::
  <context-param>
     <param-name>locatorFactorySelector</param-name>
     <param-value>red5.xml</param-value>
  </context-param>

 

(4).parentContextKey
  父上下文的名字,通常是"default.context"::
  <context-param>
   <param-name>parentContextKey</param-name>
   <param-value>default.context</param-value>
  </context-param>

 

(5).log4jConfigLocation
  指定子log系统的路径。模板中其实是把log4j.properties指定为log系统的路径。
  <context-param>
   <param-name>log4jConfigLocation</param-name>
   <param-value>/WEB-INF/log4j.properties</param-value>
  </context-param>

 

(6).webAppRootKey
  指定应用程序唯一的名称为/myapp
  <context-param>
   <param-name>webAppRootKey</param-name>
   <param-value>/myapp</param-value>
  </context-param>

 

4.2.2 red5-web.xml

   (1).Context
  这个Context bean有个预留的名字"web.context",它用来将路径放入域中,同时查找服务和控制器。默认的类是"org.red5.server.Context".

具体代码如下:
  <bean id="web.context" class="org.red5.server.Context" autowire="byType" />
  每个应用程序只能有一个Context。然而这个Context能够跨多个域共享。

 

(2).(Scope)
  每一个应用程序至少有一个Scope,这个Scope将控制器(Handler)连接到了ContextServer.这个Scopes用来建造一个树结构,客户端能够连接到这个树上的任何一个节点和共享对象(例如共享对象或者实时流).你可以将Scope看作是一个房间或者实例.

  默认的Scope通常有个名字"web.scope",但是这个名字可以任意的选择.

  这个Bean有如下的属性.
  "server"----设置全局的服务器域"red5.server".
  "parent"----设置父域,通常是"global.scope".
  "context"----指当前域,使用上面提到的"web.context"
  "handler"----当前域的控制器(Handler,下面将会提到).
  "contextPath"----连接当前域的路径.
  "virtualHosts"----用逗号分割开当然域(scope)运行的一组主机名或者IP地址.

  例如:
  <bean id="web.scope" class="org.red5.server.WebScope" init-method="register">
   <property name="server" ref="red5.server" />
   <property name="parent" ref="global.scope" />
   <property name="context" ref="web.context" />
   <property name="handler" ref="web.handler" />
   <property name="contextPath" value="/myapp" />
   <property name="virtualHosts" value="localhost, 127.0.0.1" />
  </bean>

  你可以将"contextPath""virtualHosts"的值转移到一个单独的properties文件,然后用参数表示.如果是这样的话,你就需要另外的一个Bean::
  <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
   <property name="location" value="/WEB-INF/red5-web.properties" />
  </bean>

  假设一个"red5-web.properties"文件包含如下数据::
  webapp.contextPath=/myapp
  webapp.virtualHosts=localhost,127.0.01
  那么,Scope中的参数将会变成如下样子::
  <property name="contextPath" value="${webapp.contextPath}" />
  <property name="virtualHosts" value="${webapp.virtualHosts}" />

这个"contextPath"将会被看作域的"(root)".当需要动态创建扩展域的时候,你可以在这个路径后边添加新的元素.

  这个额外域将使用同一个控制器(Handler),但是他们都拥有自己独立的属性,共享对象和实时流.

 

(3).控制器(Handlers)
  每一个Context都需要一个控制器(Handler),它实现一个方法,这个方法将在一个客户端连接这个域(Scope)时触发.这个控制器需要实现的接口是:"org.red5.server.api.IScopeHandler",然而如果你想控制访问共享对象或者流,你也可以实现其它接口.
  有一个"org.red5.server.adapter.ApplicationAdapter"作为一个基础类可以在类库中找到,这个类就是一个简单实现的例子.更多详细信息请查阅javadoc文档。

这个Bean作为一个域的控制器要进行如下配置::
       <bean id="web.handler" class="the.path.to.my.Application" singleton="true" />
  这个ID的参数就是上面提到的域(scope)设置.

 

4.2.3 red5-web.properties

   存放red5-web.xml中参数"contextPath""virtualHosts"的文件。该文件可以被red5-web.xml轻松的使用,也会被red5 jetty configurator读取从而设置ebapp.virtualHostswebapp.contextPath.注意不同的servlet引擎要求的配置文件不同,要酌情决定.

 

4.2.4 log4j.properties

允许你为每个webapp分别设置日志等级等等。该文件也会被spring自动载入。一般不用去修改它,因为在red5的安装目录下的conf文件夹下也有一个相同的文件,该文件已经作用于整个服务器,他的作用是设置了日值层,和输出文件等等。

1
4
分享到:
评论
1 楼 waw0931 2012-11-16  

图文并茂,内容详尽,非常适合初学者,真是帮大忙了。赞!

相关推荐

    red5+flex实现超简易群聊天功能

    本篇文章将探讨如何利用Red5服务器和Flex技术来创建一个超简易的群聊功能。Red5是一款开源的流媒体服务器,而Flex是一种用于开发富互联网应用程序(RIA)的前端框架,基于ActionScript和Flash Player。 首先,让...

    red5+flex简单聊天例子

    【标题】:“Red5+Flex简单聊天例子”揭示了如何结合使用Red5服务器和Flex前端技术来构建一个基本的在线聊天应用。Red5是一个开源的流媒体服务器,它支持实时通信,而Flex则是一个用于创建富互联网应用程序(RIA)的...

    red5+flex 简单的hello word实例

    - 配置Red5:修改`conf/red5.properties`配置文件,根据需要配置端口和其他参数。 - 启动Red5:运行服务器启动脚本,如`bin/start.sh`(Linux/Mac)或`bin/start.bat`(Windows)。 2. **创建Flex项目** - 使用...

    Red5 + Flex开发实例

    Red5配置文件的解说也是学习Red5时的一个重要部分。配置文件通常位于Red5的安装目录下的conf文件夹内,包括配置数据库、服务器端口、安全设置等,通过修改这些配置文件,开发者可以调整Red5服务器的运行参数和行为。...

    Flex+red5+eclipse的部署

    Flex+red5+eclipse的部署

    red5+flex小程序

    6. **Flex工程结构**:在Flex项目中,`src`目录通常存放源代码,`WEB-INF`包含项目配置文件,如`red5-web.xml`、`web.xml`和`red5-web.properties`。`red5-web.xml`配置服务器的应用处理类,`web.xml`设置Web应用根...

    flex + red5 简单实例

    在文件名称列表中,"red5的一个小例子"可能是一个包含源代码和配置文件的项目,这个项目演示了如何用Flex客户端连接到Red5服务器并实现基本的交互。在这个例子中,你可能会看到以下关键组件: 1. Flex项目的源代码...

    RED5+Flex3一步一步入门实例,保证通过!

    ### RED5 + Flex3 入门实例详解 #### 一、环境搭建与配置 ##### 1. 下载与安装 - **JRE**: Java运行环境是RED5的基础,确保安装了兼容版本。本文中使用的版本为Sun JDK 1.6.0_12。 - **RED5**: 本文使用的版本为...

    Flex+Red5+Tomcat视频

    Flex+Red5+Tomcat是一个常见的技术组合,用于构建实时交互式媒体应用,特别是涉及到音频和视频流的项目。在本教程中,我们将深入探讨这三个关键组件及其在视频语音录制和播放中的作用。 1. **Flex**: Flex是Adobe...

    Red50.9+Flex配置

    **Red5 0.9与Flex配置指南** 在IT领域,尤其是富互联网应用程序(RIA)开发中,Adobe Flex和Red5服务器是常见的组合。Flex是一款强大的客户端开发工具,用于构建具有丰富用户界面的Web应用程序,而Red5则是一个开源...

    多人视频会议RED5+FLEX

    import org.red5.server.api.Red5; import org.red5.server.api.service.IServiceCapableConnection; import org.red5.server.api.so.ISharedObject; import org.red5.server.api.ScopeUtils; import org.red5....

    Flex+Red5+Tomcat视频语音录制、播放

    Flex Red5 Tomcat 视频语音录制和播放 在网上找,总发现文章都一样,而且都是不完整的, 这里希望能够给跟我一样学习中的朋友一些帮助, 详细说明在压缩文件中有。 Flex+Red5+Tomcat视频播放器: ...

    red5+flowplayer

    在Red5中,vod服务允许你将视频文件上传到服务器,然后用户可以通过播放器访问这些文件。live服务则涉及实时流传输,如网络研讨会或体育赛事直播,内容被编码并立即发送给观众。oflaDemo示例集成了这两个功能,让...

    red5把flex与java交互的例子

    这个示例可能涵盖了创建Flex客户端、配置Red5服务器以及编写Java后台服务的步骤,通过实际操作帮助开发者理解如何实现Flex和Java之间的数据交互。 在实际开发中,为了确保Flex和Java之间的交互顺畅,开发者需要对...

    Red5 + MyEclipse +Tomcat配置

    ### Red5 + MyEclipse + Tomcat 配置详解 #### 一、环境搭建与配置概述 本篇文章主要介绍如何在MyEclipse环境下配置Red5服务器,并使其与Tomcat服务器协同工作,最终实现Red5的Demo成功运行。Red5是一款开源的流...

    red5入门,tomcat+red5+myeclipse集成,原创禁止转载

    4. 启动Red5:在命令行中运行Red5的启动脚本(在Red5安装目录的bin目录下),如Windows系统中运行`start-red5.bat`。 5. 集成MyEclipse:在MyEclipse中新建一个Dynamic Web Project,将Red5的Web应用结构导入到项目...

    Red5+mysql免安装版

    【Red5+MySQL免安装版】是一个精心配置的IT环境组合,主要包含了Red5服务器、MySQL数据库和Java运行环境,所有组件都以绿色免安装的形式提供,方便用户快速部署和使用。这个组合特别适合那些需要在本地进行视频流...

    Red5+H5实现点播和直播

    3. **修改配置**: 根据实际需求修改Red5的配置文件`red5-web.xml`。 4. **重启Tomcat**: 为了使更改生效,需要重新启动Tomcat服务。 #### 视频存放源 视频文件应当存放在一个可访问的位置,例如服务器上的特定...

Global site tag (gtag.js) - Google Analytics