从crtmpserver中看具体处理rtmp协议的流程5
2012-12-14 01:24
1201 查看
在读到18bytes
同样的去掉12bytes的头
在InboundMessageAvailable中进行回应
还是回复了468bytes的数据,但暂时没清楚
6.直接发送音视频了
7.好了,博主准备太监了,带着一大堆朦胧的概念,准备完成一个更小的rtmpserver(写代码能力有限,估计这个server不会超过1K行),遇到困难,只能从crtmpserver中抽取代码了~~~~(>_<)~~~~
同样的去掉12bytes的头
bool RTMPProtocolSerializer::Deserialize(Header &header, IOBuffer &buffer, Variant &message) { switch (H_MT(header)) { case RM_HEADER_MESSAGETYPE_USRCTRL: { return DeserializeUsrCtrl(buffer, message[RM_USRCTRL]); } } }
bool RTMPProtocolSerializer::DeserializeUsrCtrl(IOBuffer &buffer, Variant &message) { ... switch ((uint16_t) message[RM_USRCTRL_TYPE]) { ... case RM_USRCTRL_TYPE_STREAM_SET_BUFFER_LENGTH: { AMF_CHECK_BOUNDARIES(buffer, 8); message[RM_USRCTRL_STREAMID] = ENTOHLP(GETIBPOINTER(buffer)); //----MARKED-LONG--- if (!buffer.Ignore(4)) { FATAL("Unable to ignore 4 bytes"); return false; } message[RM_USRCTRL_BUFFLEN] = ENTOHLP(GETIBPOINTER(buffer)); //----MARKED-LONG--- if (!buffer.Ignore(4)) { FATAL("Unable to ignore 4 bytes"); return false; } return true; } } }
在InboundMessageAvailable中进行回应
bool BaseRTMPAppProtocolHandler::InboundMessageAvailable(BaseRTMPProtocol *pFrom, Variant &request) { ... switch ((uint8_t) VH_MT(request)) { case RM_HEADER_MESSAGETYPE_USRCTRL: { return ProcessUsrCtrl(pFrom, request); } } }
bool BaseRTMPAppProtocolHandler::ProcessUsrCtrl(BaseRTMPProtocol *pFrom, Variant &request) { switch ((uint16_t) M_USRCTRL_TYPE(request)) { case RM_USRCTRL_TYPE_PING_RESPONSE: { 这个函数说他啥都没干= = return true; } } }
还是回复了468bytes的数据,但暂时没清楚
6.直接发送音视频了
7.好了,博主准备太监了,带着一大堆朦胧的概念,准备完成一个更小的rtmpserver(写代码能力有限,估计这个server不会超过1K行),遇到困难,只能从crtmpserver中抽取代码了~~~~(>_<)~~~~
相关文章推荐
- 从crtmpserver中看具体处理rtmp协议的流程1
- 从crtmpserver中看具体处理rtmp协议的流程2
- 从crtmpserver中看具体处理rtmp协议的流程
- 从crtmpserver中看具体处理rtmp协议的流程3
- 从crtmpserver中看具体处理rtmp协议的流程4
- 关于CrtmpServer中的RTMP协议头处理
- 第三方登录----Oauth协议处理流程(QQ)
- Spring MVC请求处理具体流程
- CrtmpServer支持Android与IOS进行RTMP直播遇到的_checkbw问题
- USB协议处理和枚举流程
- Delegate协议的使用,对按钮的处理,对return按键的处理,程序流程
- RTMP直播点播-基于开源crtmpserver
- webx相关概念与具体处理流程
- crtmpserver 基本流程分析
- HTTP协议 处理流程
- kfs代码研究(二、meta server处理流程)
- HBase源码分析之HRegionServer上MemStore的flush处理流程(一)
- Openfire Server presence在线状态消息处理流程
- 高性能服务通信框架Gaea的详细实现--server请求处理流程
- crtmpserver 基本流程分析