首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

rded的配备详解

2013-07-04 
rded的配置详解context-paramparam-nameglobalScope/param-nameparam-valuedefault/param-value

rded的配置详解
<context-param> <param-name>globalScope</param-name> <param-value>default</param-value> </context-param>

?

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

<context-param>     <param-name>contextConfigLocation</param-name>     <param-value>/WEB-INF/red5-*.xml</param-value>  </context-param>  

?

locatorFactorySelector:程序的根上下文,通常是”red5.xml”

<context-param>       <param-name>locatorFactorySelector</param-name>     <param-value>red5.xml</param-value> </context-param>  

?

parentContextKey:父级上下文,通常是”default.context”

<context-param>      <param-name>parentContextKey</param-name>     <param-value>default.context</param-value>  </context-param>

?

log4jConfigLocation:日志配置文件的位置?

<context-param>      <param-name>log4jConfigLocation</param-name>       <param-value>/WEB-INF/log4j.properties</param-value>  </context-param> 

?

? webAppRootKey:程序的全局唯一名?

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

?

?????? 对于每一个Handler配置文件最少需要有三个bean?

Context:用来影射路径到某个作用范围、搜索服务和Handler,它有一个保留的名字”web.context”。 其默认的类为org.red5.server.Context

 <bean id=“web.context“ class=“org.red5.server.Context“  autowire=“byType“ /> 

?

? 对于没有一个应用程序只应该有一个Context,但是同一个Context可以被多个作用范围共享? .

Scope:每一个应用程序最少有一个作用范围,用来将handler连接到context和服务器。作用范围可以建立一棵树,每一个客户端连接到树上的一个节点,而共享对象存在于作用范围里。可以把作用范围看作是聊天室或者程序实例。默认的作用范围通常是web.scope,不过这名字是可以任意取的。

???? ?对于bean有以下属性:?

?server:与全局服务器”red5.server”相关。

parent:指定当前作用范围的父范围,通常是”global.scope” context:当前作用范围的服务器上下文,

?????????????? 一 般指定为”web.context ”

handler:对应当前作用范围的

handler contextPath:用来连接到当前作用范围的路径?

virtualHosts:一个主机名或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“放到另外一个单独的属性文件里边,而在这里使用变量来表示,为此需要添加一个特别的bean来指定属性文件的位置。

<bean  id=“placeholderConfig“ class=“org.springframework.beans.factory.config.PropertyPlaceholderConfigurer“>      <property  name=“location“ value=“/WEB-INF/red5-web.properties“ /> </bean>   假设在属性文件red5-web.properties里有如下的数据: 1. webapp.contextPath=/myapp   2. 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可以如下指定:

<bean id=“web.handler“   class=“the.path.to.my.Application“ singleton=“true“ />  

?

handler的例子?

package the.path.to.my;   import org.red5.server.adapter.ApplicationAdapter;  public class Application extends ApplicationAdapter {       public Double add(Double a, Double b)     {          return a + b;      }  } 

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

?

?? 安装flash8,新建flash文件在第一针处动作面板里添加action代码如下图

nc = new NetConnection();   nc.connect(“rtmp://localhost/myapp“);  nc.onResult = function(obj) {   trace(“The result is “ + obj);  }   nc.call(“add“, nc, 1, 2); 

?

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

?

注:此文转百度文库文章,只是个人重新排版,备注了一下!

热点排行