赞
踩
live555是采用单进程,单线程的服务器,能够同时支持多个客户端连接,并且有条不紊的进行媒体流的调度,很大一部分原因在于对数据结构的巧妙应用。
下面介绍live555核心的数据结构:闭环双向链表
描述:
一个节点保存有前一个节点的地址和后一个节点的地址,并且最后一个节点的下一个节点地址指向第一个节点,第一个节点的前一个节点的地址指向最后一个节点;
该链表的添加方式为头插法;
- class HandlerDescriptor {
- HandlerDescriptor(HandlerDescriptor* nextHandler);
- virtual ~HandlerDescriptor();
-
- public:
- int socketNum;//套接字文件描述符
- int conditionSet;//要响应的状态(可读,可写,异常),回调函数执行的条件
- TaskScheduler::BackgroundHandlerProc* handlerProc;//执行函数
- void* clientData;//执行函数的参数
-
- private:
- // Descriptors are linked together in a doubly-linked list:
- friend class HandlerSet;
- friend class H
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。