DSS 代码分析【EventThread与EventContext】
来源:互联网 发布:linux开源代码 编辑:程序博客网 时间:2024/05/11 01:59
- 系统启动的时候调用QTSServer::StartTasks()把RTSP服务端口加入到侦听队列中。此时便开始接收客户端的RTSP连接请求了。
- 在EventThread::Entry中调用select_waitevent函数等待事件的发生,当有事件发生的时候,就通过调用ProcessEvent方法对事件进行相应的处理。注意ProcessEvent是一个虚函数,共有两个实现。EventContext类中实现了ProcessEvent方法,EventContext的派生类TCPListenerSocket中也实现了ProcessEvent方法。
- 对于建立RTSP连接的请求,调用TCPListenerSocket::ProcessEvent方法来处理,此方法调用RTSPListenerSocket的GetSessionTask方法建立一个RTSPSession,并把相应的套接口加入侦听队列,等待RTSP请求。然后还需调用this->RequestEvent(EV_RE)把建立RTSP连接的请求加入到侦听队列。
- 对于RTSP连接上的RTSP请求事件,调用的是EventContext::ProcessEvent方法,通过Task的Signal把对应的RTSPSession类型的Task加入到TaskThread::fTaskQueue中等待TaskThread处理
阅读全文
0 0
- DSS 代码分析【EventThread与EventContext】
- DSS 代码分析【TaskThread与Task】
- DSS 代码分析【TimeoutTask】
- DSS Source Code Analyse (05) - EventContext::ProcessEvent
- DSS Source Code Analyse (08) - EventContext::RequestEvent
- DSS Source Code Analyse (03) - EventThread::Entry
- DSS 代码分析【服务器架构】
- DSS 代码分析【点播请求】
- DSS 代码分析【BufferWindow实现】
- DSS 代码分析【启动、初始化流程】
- DSS 代码分析【RTSP消息交互过程】
- DSS 代码分析【学习资料分享】
- DSS 代码分析【SR包发送】
- DSS 代码分析【RTP over tcp实现】
- DSS 代码分析【RTSP announce推流报文分析】
- DSS 代码分析【reflector反射之推流转发分析】
- DSS 代码分析【Reliable UDP之数据重传】
- DSS 代码分析【Reliable UDP之超时时间计算】
- 2017-11-20 白银解说
- 获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。
- Monitoring SQL Statements with Real-Time SQL Monitoring (文档 ID 1380492.1)
- Android6.0和7.0上遇到的坑以及解决方法
- matlab-table行数不同(已解决)
- DSS 代码分析【EventThread与EventContext】
- centos7 firewall 防火墙 命令
- JAVA多线程和并发基础面试问答
- 拿百度offer的三面经历
- 用construct2制作游戏(进阶)
- Java IO
- daily summary
- 指针与二级指针
- 计算输出一个三位数的逆运算