ZLMediaKit源码理解
文章平均质量分 71
dai1396734
这个作者很懒,什么都没留下…
展开
-
ZLMediaKit 服务器源码解读---WebApi
本文描述了网页请求接口处理类(WebApi)与Http会话类的关系(HttpSession)目的是了解何时触发WebApi处理?怎么处理?既然是http请求,那么肯定是由HttpSession发起的调用,监听http端口,接收到的数据都会到下面这个函数,然后调用HttpRequestSplitter的input函数,作用就是对数据进行分包处理(解决多包黏包的问题)void HttpSession::onRecv(const Buffer::Ptr &pBuf) { _ticker.re原创 2022-03-02 20:02:55 · 905 阅读 · 0 评论 -
ZLMediaKit 服务器源码解读---广播、通知中心(NoticeCenter)
源码实在是简单,在这就简单描述2个过程一:事件监听当需要监听事件时,调用NoticeCenter的addListener函数,调用者将事件类型(event),标识(tag),处理函数(func),addListener函数根据事件类型先找到事件派发器(没有则会创建),然后调用其addListener函数 template<typename FUNC> void addListener(void *tag, const string &event, FUNC &&a原创 2022-02-28 17:49:46 · 945 阅读 · 0 评论 -
ZLMediaKit 服务器源码解读---事件循环
一:事件循环池类事件循环池是一个单例类,管理着EventPoller1、EventPollerPool构造函数EventPollerPool::EventPollerPool() { auto size = addPoller("event poller", s_pool_size, ThreadPool::PRIORITY_HIGHEST, true); InfoL << "创建EventPoller个数:" << size;}2:循环池的添加Event原创 2022-02-11 13:26:25 · 1692 阅读 · 1 评论 -
ZLMediaKit 服务器源码解读---环形数据(RingBuffer)的读写
一:RingBuffer主要的成员变量 typename RingStorage::Ptr _storage; typename RingDelegate<T>::Ptr _delegate; onReaderChanged _on_reader_changed; unordered_map<EventPoller::Ptr, typename RingReaderDispatcher::Ptr, HashOfPtr> _dispatcher_map;原创 2022-02-10 18:51:31 · 1408 阅读 · 0 评论 -
ZLMediaKit 服务器源码解读---RTSP推流拉流
rtsp推流拉流过程原创 2022-02-09 19:38:43 · 6504 阅读 · 11 评论