WebRTC
一、起因
webRTC在windows平台默认使用的是WSAAsyncSelect模型,该模型需要有一个windows窗口的支持,而且伸缩性、性能都比较低。
关于WSAAsyncSelect模型的介绍可以参考Windows套接字I/O模型(3) – WSAAsyncSelect模型
因为webRTC是点对点的数据传输,对每一个端的性能要求并不高,采用WSAAsyncSelect模型完全是足够的。但是我们如果需要把rtc_base单独抽出来使用,那么在windows平台上加上IOCP模型的支持就很有必要了。
关于IOCP完成端口模型的介绍可以参考Windows套接字I/O模型(5) – 完成端口模型
二、实现
iocp.h
, iocp.cc
定义和实现iocp相关的结构体,通用功能。
iocp.h
#ifndef RTC_BASE_IOCP_H_
#define
WebRTC
一、起因
webRTC在windows平台默认使用的是WSAAsyncSelect模型,该模型需要有一个windows窗口的支持,而且伸缩性、性能都比较低。
关于WSAAsyncSelect模型的介绍可以参考Windows套接字I/O模型(3) – WSAAsyncSelect模型
因为webRTC是点对点的数据传输,对每一个端的性能要求并不高,采用WSAAsyncSelect模型完全是足够的。但是我们如果需要把rtc_base单独抽出来使用,那么在windows平台上加上IOCP模型的支持就很有必要了。
关于IOCP完成端口模型的介绍可以参考Windows套接字I/O模型(5) – 完成端口模型
二、实现
iocp.h
, iocp.cc
定义和实现iocp相关的结构体,通用功能。
iocp.h
#ifndef RTC_BASE_IOCP_H_
#define