live555
学习之
RTSP
连接建立以及请求消息处理过程
1
,
RTSP
连接的建立过程
RTSPServer
类用于构建一个
RTSP
服务器,该类同时在
其内部定义了一个
RTSPClientSession
类,
用于处理单独的客
户会话。
首先创建
RTSP
服务器
(
具体实现类是
DynamicRTSPServer)
,在创建过程中,先建立
Socket(ourSocket)
在
TCP
的
554
端口进行监听,然后把连接
处理函数句柄
(RTSPServer:: incomingConnectionHandler)
和
socket
句柄传给
任务调度器
(taskScheduler)
。
任务调度器把
socket
句柄放入后面
select
调用中用到的
socket
句柄集
(fReadSet)
中,同时将
socket
句柄和
incomingConnectionHandler
句柄关联起来。接着,主程序开
始进入任务调度器的主循环(
doEventLoop
)
,在主循环中调
用系统函数
select
阻塞,等待网络连接。
当
RTSP
客户端输入
(rtsp://192.168.1.109/1.mpg)
连接服
务器时,
select
返回对应的
scoket
,
进而根据前面保存的对应
关系,可找到对应处理函数句柄,这里就是前面提到的
incomingConnectionHandler
了。在