非阻塞套接字connect時,用select在window 和 Linux下是有差別的 linux
window
調用select函數時,必須套接字設置異常集合,由於,一旦有錯誤發生,不會觸發可讀可寫事件,只會
觸發異常事件。因此在window作非阻塞鏈接時,必須設置異常集合或select超時時間。否則會致使程序一直阻塞在
select函數中沒法返回
linux(可能各個系統不同)
調用select函數時,能夠不設置異常集合,一旦有錯誤發生,會觸發可讀可寫事件,不會觸發異常事件。因此在Linux
作非阻塞鏈接時,能夠不設置異常集合或select超時時間,若是TCP嘗試屢次鏈接仍是沒法鏈接,select函數會返回,
會觸發可讀可寫事件
---------------------
做者:lys86_1205
來源:CSDN
原文:https://blog.csdn.net/lys86_1205/article/details/36387061
版權聲明:本文爲博主原創文章,轉載請附上博文連接!函數