crtmpserver常用基本类介绍
来源:互联网 发布:千牛设置淘宝分流 编辑:程序博客网 时间:2024/06/06 10:42
上一篇我们做了流程的分析,这一篇我们对其中涉及到的类做一个梳理,两篇可以结合着一起看,对整个程序的运行是有帮助的。
BaseClientApplication APP基类,一切APP都基于这个类
StreamsManager _streamsManager;可以对该APP所属的流链接进行管理map<uint64_t, BaseAppProtocolHandler *> _protocolsHandlers;这个APP所支持的协议
BaseProtocol 协议基类,一切协议都基于这个类,例如BaseHTTPProtocol和BaseRTMPProtocol
BaseClientApplication *_pApplication;该协议所属的APP
BaseProtocol *_pFarProtocol;远端协议
BaseProtocol *_pNearProtocol;//表示到服务器的远近[outside world --->ssl--->http--->rtmp--->server]
//离服务器最近的是rtmp协议,最远的为ssl
BaseRTMPProtocol RTMP协议运算基类
IOBuffer _outputBuffer;协议的交互buffer
BaseRTMPAppProtocolHandler *_pProtocolHandler;所属的协议事务类
BaseStream *_streams[MAX_STREAMS_COUNT]; 这边是一个连接对象允许请求256次流?
LinkedListNode<BaseOutNetRTMPStream *> *_pSignaledRTMPOutNetStream;输出流集合
BaseAppProtocolHandler APP处理协议事务基类,--->BaseRTMPAppProtocolHandler--->RTMPAppProtocolHandler
BaseClientApplication *_pApplication;可以找到所属的APP
对于基本的协议交互,BaseRTMPAppProtocolHandler已经足够使用,继承于它的RTMPAppProtocolHandler只不过增加一些特定的扩展应用。同理,BaseRTSPAppProtocolHandler,对于比较简单的协议比如ssl和http,大部分功能都在BaseAppProtocolHandler,只需要重载实现部分接口就可以了。而对于调用者来说,构造一个RTMPAppProtocolHandler和HTTPAppProtocolHandler即可支持两种协议的事务处理
BaseRTMPAppProtocolHandler 继承于BaseAppProtocolHandler
map<uint32_t, BaseRTMPProtocol *> _connections;协议基础类的支持?
StreamsManager 流链接管理
BaseClientApplication *_pApplication;所属APP
BaseStream 流处理基类
BaseProtocol *_pProtocol;所属协议
StreamsManager *_pStreamsManager;反向查询流管理
BaseInStream --->BaseStream 流输入类
map<uint32_t, BaseOutStream *> _linkedStreams;对应的流输出集合
BaseOutStream --->BaseStream 流输出类
BaseInStream *_pInStream;流的输入对象
InNetRTMPStream --->BaseInNetStream --->BaseInStream RTMP 流发布时创建的,用于管理流输入,在这个类中做流分发处理
IOBuffer _videoCodecInit;对应的视频流缓冲
IOBuffer _audioCodecInit;对应的音频流缓冲
IOHandler 处理IO交互,网络相关,TCPAcceptor,TCPCarrier,TCPConnector...
BaseProtocol *_pProtocol;所属的交互协议,RTMP/HTTP/RTSP...
IOHandlerType _type;标识本IO的处理类型,参见IOHandlerType,ACCEPT/CONNECT/TCP/UDP
TCPAcceptor TCP监听器
BaseClientApplication *_pApplication;
IOHandlerManager IO交互管理,程序入口为这个类
static map<uint32_t, IOHandler *> _activeIOHandlers;有效IO
static map<uint32_t, IOHandler *> _deadIOHandlers;无效IO
ProtocolManager Protocol协议交互管理
ClientApplicationManager APP管理
ProtocolFactoryManager 协议工厂,包含本程序所支持的协议,貌似跟配置文件无关,有25种协议
1 0
- crtmpserver常用基本类介绍
- crtmpserver基本流程介绍
- crtmpserver基础类介绍
- crtmpserver 基本流程分析
- crtmpserver 基本流程分析
- crtmpserver 基本流程分析
- CRtmpServer中BaseProtocol 简单介绍
- crtmpserver
- crtmpserver
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- crtmpserver流媒体服务器的介绍与搭建
- mysql int(3)与int(11)的区别
- 超市通:修改价格牌、标签格式
- 第十二项目4-时间类
- arc 小结
- hdu 2673
- crtmpserver常用基本类介绍
- 数据挖掘系列(6)决策树分类算法
- 性能loadrunner--常用函数
- http://bbs.csdn.net/topics/390025630
- 67 Java 内部类
- TCP/IP、Http、Socket的区别
- linux文件访问权限配置
- Unit12--problem3-摩托车继承自行车和机动车
- 搭建ADF开发环境