摘要:
一般创建套接字都是创建的阻塞模式,阻塞模式情况下,要处理多个套接字的连接,就必须创建多个线程的连接,即一个典型的连接用一个线程。通过调用函数方法ioctlsocket,可以从阻塞模式变为非阻塞模式,u_long ul=1;SOCKET s=SOCKET(AF_INET,SOCKET_STREAM,0);ioctlsocket(s,FIONBIO,(u_long*)&ul);一旦套接字被设置于非阻塞模式,处理发送和接收数据或者管理连接的winsock调用将会立即返回,大多数情况下,调用失败的出错代码是WSAEWOULDBLOCK,一位着请求操作在调用期间没有完成。如果去确定网络事件何时发 阅读全文
摘要:
WSAAsyncSelect模型允许以windows消息作为网络事件的通知,这个模型是为了windows消息专门而设置的。这个函数默认使socket为非阻塞模式(一般情况下,异步模式便为非阻塞模式)。当WSAAsyncSelect函数进行调用了以后,就可以在在窗口函数以windows消息的形式接收网络事件通知。LRESULT CALLBACK WindowProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)是对应的回调函数。USHORT nPort=4567;SOCKET sListen=::socket(AF_INET,SOCK_STRE 阅读全文