WsaEventSelect模型是一个不用主动去轮询所有客户端套接字是否有数据到来的模型,它也是在客户端有数据到来时,系统发送通知给我们的程序,但是,它不是发送消息,而是通过事件的方式来通知我们的程序,这就解决了WsaAsyncSelect模型只能用在windows程序的问题。
该模型的实现,我们也可以开辟两个线程来进行处理,一个用来接收客户端的连接请求,一个用来与客户端进行通信,用到的主要...
分类:
其他好文 时间:
2014-10-15 09:22:30
阅读次数:
194
Winsock共有五种类型的套接字I/O模型,可让Winsock应用程序对I/O进行管理,它们包括: select(选择)、WSAAsyncSelect(异步选择)、WSAEventSelect(事件选择)、overlapped(重叠)、以及completion port(完成端口)。
1、Select(选择)模型
利用select函数,判断套接字上是否存在数据,或者能否向一个套接字写入数...
(转自论坛的一个帖子http://bbs.csdn.net/topics/280032853)AcceptEx主要用于向完成端口投递一个或多个的连接请求。。当有连接时进来,这里分两种情况:1.Accept不接受数据,工作线程收到IO完成操作的通知。2.Aceept必须接收到客户端的部分数量,工作线程...
分类:
其他好文 时间:
2014-08-03 10:14:05
阅读次数:
297
第一章 一. 重叠模型的优点 1. 可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。 2. 比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/O(Overlapped I/O)模型使应用程序能达到更佳的系统性...
分类:
其他好文 时间:
2014-07-31 19:34:37
阅读次数:
233
WSAWaitForMultipleEvents函数 熟悉WSAEventSelect模型的朋友对这个函数肯定不会陌生,不对,其实大家都不应该陌生,这个函数与线程中常用的WaitForMultipleObjects函数有些地方还是比较像的,因为都是在等待某个事件的触发嘛。 因为我们需要事件来...
分类:
其他好文 时间:
2014-07-31 13:09:06
阅读次数:
188
WSAEventSelect 是 WinSock 提供的一种异步事件通知I/O模型,与
WSAAsyncSelect模型有些类似。 该模型同样是接收 FD_XXX 之类的网络事件,但是是通过事件对象句柄通知,而非像
WSAAsyncSelect一样依靠Windows的消息驱动机制。 与WSAAsy....
分类:
其他好文 时间:
2014-07-22 23:00:54
阅读次数:
229