事件选择(WSAEventSelect)模型:基于事件通知,事件是一个有操作系统管理的内核对象,当前系统基于事件机制,该模型则可以使用,事件两种状态,有信号和无信号,检测事件,若有信号则进行相应处理。
参考博客:http://www.cnblogs.com/venow/archive/2012/06/12/2543065.html
优点:(1)可以在非窗口的Windows Socket程序中,实现多个套接字的管理。
缺点:(1)不能同时处理多个Socket,有数量限制。要么Wait一个事件对应一个线程,(2)仍然属于阻塞模型,异步阻塞模型。(3)每个WSAEventSelect模型最多只能管理64个套接字。当应用程序中要管理多余64个套接字时,就需要额外创建线程。
3.1、创建一个无信号的事件 WSAEVENT------HANDLE
WSAEVENT we=WSACreateEvent();
3.2、向Windows注册网络事件。
int WSAE