在windows平臺Socket通訊中,IO有阻塞和、阻塞兩種模式,並提供了**選擇(Select)、異步選擇(WSAAsyncSelect)、事件選擇(WSAEventSelect)、重疊I/O(Overlapped I/O)和完成端口(Completion Port)**共五種Socket模型。html
阻塞模式:執行I/O操做完成前會一直進行等待,不會將控制權交給程序。套接字默認爲阻塞模式。能夠經過多線程技術進行處理。windows
非阻塞模式:執行I/O操做時,Winsock函數會返回並交出控制權。這種模式使用起來比較複雜,由於函數在沒有運行完成就進行返回,會不斷地返回 WSAEWOULDBLOCK錯誤。多線程
五種Soceket模型,具體的實現細節和步驟請瀏覽Socket模型詳解(轉)app