处理连接请求的基本流程:
Step 1:与客户端建立RTSP连接
incomingConnectionHandler(根据socket找到并执行,两者相互关联,以回调函数的信使存在)
创建ClientSession并将fClientSocket与请求函数句柄 incomingRequestHandler
Step 2:接收客户端请求GenericMediaServer::ClientConnection::incomingRequestHandler
handleRequestBytes(bytesRead);
将字符串拆分成cmdName[方法],urlPreSuffix[url地址],urlSuffix[要读取的文件名],sceq[即Cseq],
Step 3:接收并对解析请求数
RTSPCommon::parseRTSPRequestString
clientSession->handleCmd_withinSession(this, cmdName, urlPreSuffix, urlSuffix, (char const*)fRequestBuffer)
//setup以及之前的请求不包含session故没有做什么事情
handleCmd_PLAY(ourClientConnection, subsession, fullRequestStr);
Step 4:调用对应函数处理handleCmd_xxx:
1、handleCmd_OPTIONS //RTS
流媒体协议---live555实现rtsp---处理客户端点播的基本流程
最新推荐文章于 2024-08-23 09:15:49 发布
本文详细介绍了如何利用live555库处理RTSP客户端的点播请求,涵盖了从建立连接、发送SETUP到播放数据的整个过程,为实时流媒体服务器开发提供了关键指导。
摘要由CSDN通过智能技术生成