WebRTC的线程事件处理

1. 不同平台下处理事件的API:

  1. Linux系统下,处理事件的API是epoll或者select;
  2. Windows系统下,处理事件的API是WSAEventSelect,完全端口;
  3. Mac系统下,kqueue

2. WebRTC下的事件处理类:

  1. NullSocketServer(处理无socket的事件)(工作线程)
  2. PhysicalSocketServer(处理有socket事件)(网络线程)

事件如何协调线程工作:

信令线程--->触发事件--->公共对象(NullSocketServer或PhysicalSocketServer)(唤醒睡眠线程)--->等待事件(睡眠状态)--->工作线程/网络线程

webrtc下事件的发生:

等待线程处理逻辑:

cpp 复制代码
while(true)
{
	...
	Get(&msg, ...); // 如果没有时间,在Get()函数中睡眠等待事件
	...
	Dispatch(&msg);
	...
}

Get函数:

如果队列不为空,则取出事件后调用Dispatch处理;如果队列为空,则调用Wait等待事件发生

Wait函数:

相关推荐
kkk_皮蛋8 小时前
带宽估计 BWE (WebRTC 的智能网络优化核心)
网络·webrtc
txp玩Linux1 天前
rk3568上webrtc处理稳态噪声实践
算法·webrtc
好游科技4 天前
IM即时通讯系统:安全可控、功能全面的社交解决方案全解析
安全·音视频·webrtc·im即时通讯·私有化部署im即时通讯·社交app
JellyDDD4 天前
【悬赏】Android WebRTC 数字人项目回声问题排查(AEC / AudioMode)
音视频·webrtc
好游科技5 天前
语聊APP新生态!一站式语聊房语音直播APP源码开发搭建
音视频·webrtc·im即时通讯·社交软件·社交语音视频软件
刘孬孬沉迷学习5 天前
WebRTC 协议
学习·5g·webrtc·信息与通信·信号处理
XHW___0015 天前
鸿蒙webrtc编译
华为·webrtc·harmonyos
jinxinyuuuus6 天前
局域网文件传输:WebRTC与“去中心化应用”的架构思想
架构·去中心化·webrtc
kkk_皮蛋6 天前
信令是什么?为什么 WebRTC 需要信令?
后端·asp.net·webrtc
XHW___0016 天前
webrtc 联播数据编码发送流程
webrtc