摘要: 选择(select)模型是Winsock中最常见的 I/O模型。核心便是利用 select 函数,实现对 I/O的管理!利用 select 函数来判断某Socket上是否有数据可读,或者能否向一个套接字写入数据,防止程序在Socket处于阻塞模式中时,在一次 I/O 调用(如send或recv、accept等)过程中,被迫进入“锁定”状态;同时防止在套接字处于非阻塞模式中时,产生WSAEWOULDBLOCK错误。select 的函数原型如下: int select( __in int nfds, //会被忽略,只是为了保持与Berkeley套接字兼容... 阅读全文
posted @ 2012-06-10 22:31 venow 阅读(1817) 评论(0) 推荐(1)
摘要: 异步选择(WSAAsyncSelect)模型是一个有用的异步 I/O 模型。利用这个模型,应用程序可在一个套接字上,接收以 Windows 消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用WSAAsyncSelect函数。该模型的核心即是WSAAsyncSelect函数。 WSAAsyncSelect函数定义如下: int WSAAsyncSelect( __in SOCKET s, //指定的是我们感兴趣的那个套接字。 __in HWND hWnd, //指定一个窗口句柄,它对应于网络事件发生之后,想要收到通知消息的那个窗口。 __in... 阅读全文
posted @ 2012-06-10 22:31 venow 阅读(3529) 评论(0) 推荐(0)