5.9 talk_base::PhysicalSocketServer
如果说talk_base::MessageQueue是多路信号分离器的外围,那么talk_base::PhysicalSocketServer就是多路信号分离器的真正核心。talk_base::PhysicalSocketServer主要实现了消息和IO的多路分发功能,类似于Windows平台上的WSAWaitForMultipleEvents的功能。
talk_base::PhysicalSocketServer的主要成员变量包括:
dispatchers_:分发器列表
signal_wakeup_:中止talk_base::PhysicalSocketServer::Wait函数的talk_base::Signaler对象(通常在talk_base::MessageQueue接收到事件时调用)
talk_base::PhysicalSocketServer的主要成员函数包括:
talk_base::PhysicalSocketServer::CreateSocket:创建一个talk_base::Socket实例,实质为talk_base::PhysicalSocket
参数说明:
family:socket的寻址方案(AF_INET/AF_INET6),说明WebRTC能够支持IPv6
type:socket的类型(TCP/IP)
talk_base::PhysicalSocketServer::CreateAsyncSocket:创建一个talk_base::AsyncSocket实例,实质是talk_base::SocketDispatcher。此外,与t