异步选择WSAAsyncSelect是Select模型的异步版本
在Select模型中,调用select()函数会发生阻塞;而WSAAsyncSelect模型在调用WSAAsyncSelect()函数时,它会通知系统感兴趣的网络事件,然后立即返回。
异步WSAAsyncSelect模型说白了,就是让系统帮咱们去监听咱们服务器上的一个socket
系统会帮我们监听客户端的连接,客户端的断开,客户端的发送数据,等等,
一般,这种模型适用与窗口模型,使用:
1.在创建完窗口的时候,顺便把socket也一起创建了吧,在把咱们的socket交给系统处理(让他我们监听咱们socket的消息,比如客户端连接,断开这些啊,就不用咱们人为的去判断了)
2.重写消息函数,也就是窗口回调函数,里面判断message的消息是否是咱们自定义的消息,然后在判断处理,
3.重写消息函数,拦截WM_DESTROY 消息,对咱们服务端的socket进行关闭和清理socket网络环境
如何停止系统对咱们服务端上socket的监听呢?
WSAAsyncSelect(sListen,0 ,0);
把监听的窗口句柄改为0就好了