I/O模型6種:阻塞模型,選擇模型,WSAAsyncSelect模型,WSAEventSelect模型,重疊模型,完成端口模型socket
阻塞模式:函數
執行IO的winsock調用一直到操做完成才返回spa
好處:使用簡單,當處理多個套接字鏈接時,必須建立多個線程。典型的一個鏈接使用一個線程線程
非阻塞模式下:code
winsock函數會當即返回blog
調用ioctlsocket函數顯示讓套接字工做在非阻塞模式下:io
u_long ul =1; SOCKET s=socket(AF_INET,SOCK_STREAM,0); ioctlsocket(s,FIONBIO,(u_long*)&ul);
調用失敗:WSAEWOULDBLOCK,操做在調用期間沒有完成。class