锐英源软件
第一信赖

精通

英语

开源

擅长

开发

培训

胸怀四海 

第一信赖

当前位置:锐英源 / 开源技术 / Darwin服务器 / Darwin概念之模块角色
服务方向
软件开发
办公财务MIS
股票
设备监控
网页信息采集及控制
多媒体
软件开发培训
流媒体开发
Java 安卓移动开发
Java Web开发
HTML5培训
iOS培训
网站前端开发
VC++
C++游戏开发培训
C#软件
C语言(Linux)
ASP.NET网站开发(C#)
C#软件+ASP.NET网站
SOCKET网络通信开发
COMOLE和ActiveX开发
C++(Linux)
汇编和破解
驱动开发
SkinMagicVC++换肤
MicroStation二次开发
计算机英语翻译
联系方式
固话:0371-63888850
手机:138-0381-0136
Q Q:396806883
微信:ryysoft

模块角色


角色(Role)为模块提供一个定义良好的状态,以执行特定类型的处理。系统用类型为QTSS_Role的选择器(selector)来定义每个角色,表示服务器的内部处理状态及服务器数据的数字,以及服务器数据的可访问性和正当性。根据角色的不同,服务器可能把一个或者多个QTSS对象传递给模块。通常情况下,服务器使用对象来和模块进行信息交换。如果需要更多关于QTSS对象的信息,请参见“QTSS对象”部分。

表 1-1列出这个版本的QuickTime流媒体服务器支持的角色。


表 1-1 模块角色
名称 常数 任务
Register(注册)角色 QTSS_Register_Role 注册模块支持的角色。
Initialize(初始化)角色 QTSS_Initialize_Role 执行模块的初始化任务。
Shutdown(关闭)角色 QTSS_Shutdown_Role 执行清除现场任务。
Reread Preferences(再次读取预置信息)角色 QTSS_RereadPrefs_Role 重新读取模块的预置信息。
Error Log(错误纪录)角色 QTSS_ErrorLog_Role 记录错误信息。
RTSP Filter(过滤器)角色 QTSS_RTSPFilter_Role 修改RTSP请求的内容。
RTSP Route(路由)角色 QTSS_RTSPRoute_Role 把来自客户端的请求路由到恰当的文件夹。
RTSP Preprocessor(预处理器)角色 QTSS_RTSPPreProcessor_Role 在服务器处理客户请求之前,先行进行处理。
RTSP Request(请求)角色 QTSS_RTSPRequest_Role 在没有其它角色处理客户请求的情况下,对客户请求进行处理
RTSP Postprocessor(后处理器)角色 QTSS_RTSPPostProcessor_Role 在请求得到响应之后,执行诸如纪录统计信息这样的任务。
RTP Send Packets(发送数据包)角色 QTSS_RTPSendPackets_Role 发送数据包。
Client Session Closing(客户会话关闭)角色 QTSS_ClientSessionClosing_Role 在客户会话关闭时执行任务。
RTCP Process(处理)角色 QTSS_RTCPProcess_Role 处理RTCP接受方的报告。
Open File Preprocess(打开文件预处理)角色 QTSS_OpenFilePreProcess_Role 处理打开文件的请求。
Open File(打开文件)角色 QTSS_OpenFile_Role 处理没有被Open File Preprocess角色处理过的打开文件请求。
Advise File(建议文件)角色 QTSS_AdviseFile_Role 在模块(或者服务器)调用RQTSS_Advise回调函数,获取文件对象的时候,进行响应。
Read File(读取文件)角色 QTSS_ReadFile_Role 读取文件。
Request Event File(请求事件文件)角色 QTSS_RequestEventFile_Role 客户端可能请求接收当文件变为可供读取时发出的通知,这个角色负责处理这些请求。
Close File(关闭文件)角色 QTSS_CloseFile_Role 关闭先前打开的文件。

除了Register,Shutdown,和Reread Preferences这三个例外角色,服务器在调用模块的其它角色时,会根据角色的不同向模块传入特定的结构。该结构包含模块执行相应角色时需要使用的信息,或者为模块提供一种向服务器返回信息的途径。

RTSP角色都可以对客户端进行响应,这里所说的响应定义为模块向客户端发送任何数据。模块可以通过很多方式向客户端发送数据,比如可以调用QTSS_Write或者QTSS_WriteV函数来进行数据发送。

请注意:对于多个注册了某个角色的模块,在该角色被调用时,各个模块的调用顺序是不确定的。

本部分包含如下内容:

友情链接
版权所有 Copyright(c)2004-2015 锐英源软件
公司注册号:410105000449586 豫ICP备08007559号 最佳分辨率 1024*768
地址:郑州市文化路47号院1号楼4层(47-1楼位于文化路和红专路十字路口东北角,郑州大学工学院招待所南边,工学院科技报告厅西边。)