最近在研究Red5,FMS,苦于没有什么中文文档,硬着头皮去啃官方资料,突然发现自己英语也还可以应付,越看越觉得:还是英文简单,没歧义,不像中文那么博大精深,呵呵,废话不多说了.
This page explains Scope and Context in Red5. The Scope model in Red5 that supports Application model is an extension to the Application model in FMS. The Context model in Red5 has no counterpart in FMS. These two concepts are Red5 specific.
这篇文章解释Red5里的Scope和Context.Red5的Scope模型是对FMS中Application模型的一种扩展,Context模型在FMS中没有副本,Scope和Context这两个概念是Red5独有的.
Resources are managed in Red5 in a tree. Each node of a tree is called a scope. If the scope is a leaf node, it is called a BasicScope and if the scope contains child scopes, it is called a Scope. There're two pre-defined BasicScopes in Red5, SharedObject Scope and BroadcastStream Scope.
Red5中,所有资源形成一颗树,每一个节点被称为scope,如果该节点是个叶子节点,那它被称为BasicScope,如果该节点还有子节点,那它被称为Scope.Red5里有两种预先定义好的BasicScope:SharedObject Scope和BroadcastStream Scope.
Each Application has its own Scope hierarchy and the root scope is WebScope. There's a global scope defined in Red5 that aims to provide common resource sharing across Applications namely GlobalScope. The GlobalScope is the parent of all WebScopes. Other scopes in between are all instances of Scope. Each scope takes a name. The GlobalScope is named "default". The WebScope is named per Application context name. The Scope is named per path name. The SharedObject Scope is named per SharedObject's name. The BroadcastStream Scope is named per Stream's name.
每一个应用都有自己的Scope等级体系,根就是WebScope(即此应用的实例)。Red5定义了一个全局scope意在提供一个通用的资源供各个应用共享,称之为GlobalScope。GlobalScope是所有的WebScope的父节点,其余的中间scopes都是Scope的实例。每一个scope有一个名称。GlobalScope的名称是:default。每一个WebScope的名字就是该应用上下文的名称。中间的Scope的名字就是它所在路径的名称。SharedObject Scope的名字就是SharedOjbect的名字,BroadcastStream Scope的名字就是Stream的名字。
Except GlobalScope and BasicScopes, all Scopes can be connected by a client. A Scope object might be created as a result of a connection request from a client. For example, a client could issue a request to connect to oflaDemo/room0 when the room0 scope does not exist. After the establishment of the connection, room0 is created. If the url contains many intermediate scopes, all these scopes will be created. For example, oflaDemo/lobby0/room0 is requested and neither lobby0 or room0 exist. lobby0 and room0 will be created accordingly. Then the connection is tied to room0 scope.
除了GlobalScope和BasicScopes外,其余scope都可以被一个client连接。一个客户端请求连接的结果会被用来创建一个Scop对象.例如:一个客户端请求一个连接来连oflaDemo/room0,而此时room0的scope并未存在,当创建了这个连接后,room0的scope被创建了,如果请求的url里包含了中间多个scope,所有的scope都会相应地被创建.
比如:url为:oflaDemo/lobby0/room0,此时room0和lobby0都不存在,那他们都会被相应的创建,然后,连接指向了room0这个scope。
A Context is stuck to a Scope object and provides additional services to the scope object. Context objects can be obtained by calling IContext.getScope(). Context wraps the spring application context so that the services can be declared as spring beans and looked up from Context. Other services include "clientRegistry", "serviceInvoker", "persistenceStore", "mappingStrategy" and resource resolver that backs the resource resolver provided in Scope.
一个Context是和一个Scope对象绑定在一起的,它用来给scope object提供额外的功能.Context对象可以通过IContext.getScope()来获得.Context包装了spring的application context,因此,spring里声明的各种bean在此都可以使用.
Context can be inherited. This means a Scope may not define a context and instead use its parent's context directly. Only GlobalScope and WebScope use their own Context object.
Context可以被继承.这就是说一个Scope可以继承它的父节点的Context而无需自己在定义一个context,只有GlobalScope和WebScope必须使用它们自己的Context对象.
文章原地址:http://myzhangjl.blog.sohu.com/93966697.html
分享到:
相关推荐
Red-Team-Infrastructure-Wiki, Wiki收集红色团队基础设施强化资源 这个wiki旨在提供一个资源来建立一个弹性的红色团队基础设施。 it Borosh ( @424f424f ) 和 Jeff ( 。dimmock @bluscreenofjeff ) BSides NoVa ...
总结来说,Red5的配置涉及到多个层面,包括应用程序目录结构、核心配置文件`web.xml`的参数设置、`Context`和`Scope`的管理,以及对自定义组件的配置。理解并熟练掌握这些配置是确保Red5能够高效、稳定地运行流媒体...
总结起来,RED5的安装和配置涉及创建应用程序目录、设置配置文件、理解并配置`Context`和`Scope`等关键元素。通过正确配置这些参数,开发者可以成功搭建并运行基于RED5的流媒体应用,为用户提供高质量的音视频服务。...
- **域(Scope)**:每个应用程序至少有一个Scope,它连接Context和Server,形成树状结构,允许客户端连接并共享数据。默认的Scope通常称为"web.scope",但可以自定义。Scope可以看作是逻辑空间,用于组织和管理...
更要命的是,下下来用不了,会提示No scope "oflaDemo" on this server。我被这个搞得想自杀!换RED5的版本,从0.8-1.0,不行!从CSDN下载数个不同的 "oflaDemo" ,还是不行!! 正当我想放弃RED5的时候,我发现了这...
2. **Scope**:每个应用至少需要一个作用范围(Scope),用于将Handler连接到Context和服务器。作用范围可以构成一棵树,每个客户端连接到树的一个节点上,共享对象存在于作用范围内。默认的作用范围通常命名为`web....
- 包含两个主要的Spring上下文:默认上下文(default context)和Web上下文(web context)。 ##### 2. 默认上下文 - **默认上下文** 主要用于管理非Web相关的组件和服务,例如数据库连接池、消息队列等。 ##### 3. ...
本教程将介绍如何进行Red5的入门学习,并结合Tomcat和MyEclipse进行集成开发。 一、Red5简介 Red5是一款用Java编写的应用服务器,它能够处理音频、视频流,并且支持Flash Player和Adobe AIR。Red5的主要功能包括...
该Wiki旨在提供用于建立弹性Red Team基础结构的资源。 这是为了补充史蒂夫Borosh( )和杰夫·迪莫克的( )BSides新星2017年谈“大限Preppers:您有助加强红队的基础设施”( ) 如果您要添加其他内容,请提交请求...
RED二次开发_Node-RED安全性和认证机制.docx RED二次开发_Node-RED数据流设计模式.docx RED二次开发_Node-RED核心节点详解.docx RED二次开发_Node-RED状态管理和调试技巧.docx RED二次开发_Node-RED社区资源和案例...
根据提供的文档信息,本文将详细阐述如何使用FFmpeg和Red5搭建一个RTMP流媒体服务器,以及相关的配置和测试步骤。 首先,了解RTMP(Real Time Messaging Protocol)是一种网络协议,它被广泛用于在线直播和流媒体...
Red5是一款开源的Java流媒体服务器,它支持实时流传输协议(RTSP)、实时消息...在实际操作中,需要注意的是,不同的系统环境和版本可能会有不同的具体步骤,因此在整合过程中应参考官方文档和社区资源,以确保顺利进行。
`Scope`可以通过`bean`配置,包括`server`、`parent`(父`Scope`)、`context`(服务器上下文,通常引用`web.context`)、`handler`(处理当前`Scope`的处理器)以及`contextPath`(连接到`Scope`的路径)和`virtual...
访问Red5官方网站下载最新版本的Red5,解压后即可使用。对于生产环境,建议通过脚本或服务管理工具将其设置为系统服务。 ##### 3.3 配置Red5 Red5的配置文件通常位于`conf`目录下,主要包括`server.xml`、`context...
6. **配置文件拷贝**:将 Red5 的 `src\conf\war` 目录下的其他文件复制到现有项目的源码目录下,确保所有必需的配置文件(如 `beanRefContext.xml`, `defaultContext.xml`, `red5-common.xml`, `red5-core.xml`)都...
通过Scope和Room管理,可以有效地组织和控制客户端连接,实现多用户场景下的协同操作。 至于视频播放程序,Red5提供了一套完整的解决方案,包括视频的流式传输和控制。而简单的聊天程序则展示了Red5在实时通信中的...
在这个示例中,配置了一个名为`myApp.context`的Context对象,一个`myApp.scope`的WebScope对象,以及一个`myApp.handler`的应用处理器类(这里为`red5.example.red5server.Application`,需要根据实际情况替换为你...