socket通訊中的select應用簡要說明

2021-05-23 07:13:07 字數 497 閱讀 1284

用select的目的就是將多個io的讀寫阻塞的集中到乙個select上,即用select來檢測有沒有io可以讀寫,一旦發生至少乙個io可以讀寫(或者超時,返回0表示超時),則select就返回,返回值》0,然後用迴圈對select監測的所有io用fd_isset來判斷,檢查是否是該io觸發的阻塞返回,如果是,就讀取,否則,千萬別讀取,對沒有檢測通過的io呼叫recv,那麼就錯誤的進入阻塞狀態了。可以查查select函式說明文件,msdn或者linux系統中的man中都有例程。

下面是我的乙個例子

fd_set((unsigned int)pobj->chnfd, &readfds);

if (pobj->chnfd>fdmax)

}val=select(fdmax + 1, &readfds, null, null, &authtime); 

if (val<0)

else if (val==0)

else}}

}return len;

}

socket通訊中select函式的使用和詳解

最近在寫乙個網路通訊函式,參考別人的 時對select 函式的使用存有疑惑,不太確定具體的使用方法,何時使用,以及其作用。在網上搜到一篇文章,覺得介紹的不錯,收藏學習。先自我總結一下。select函式的作用 select 在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太...

socket通訊中select函式的使用和詳解

最近在寫乙個網路通訊函式,參考別人的 時對select 函式的使用存有疑惑,不太確定具體的使用方法,何時使用,以及其作用。在網上搜到一篇文章,覺得介紹的不錯,收藏學習。先自我總結一下。select函式的作用 select 在socket程式設計中還是比較重要的,可是對於初學socket的人來說都不太...

socket通訊中select函式的使用和解釋

source url 最近在寫乙個網路通訊函式,參考別人的 時對select 函式的使用存有疑惑,不太確定具體的使用方法,何時使用,以及其作用。在網上搜到一篇文章,覺得介紹的不錯,收藏學習。先自我總結一下。select函式的作用 select 在socket程式設計中還是比較重要的,可是對於初學so...