fd_set

fd_set

select()機制中提供一fd_set的數據結構,實際上是一long類型的數組,每一個數組元素都能與一打開的檔案句柄(不管是socket句柄,還是其他檔案或命名管道或設備句柄)建立聯繫,建立聯繫的工作由程式設計師完成,當調用select()時,由核心根據IO狀態修改fd_set的內容,由此來通知執行了select()的進程哪一socket或檔案發生了可讀或可寫事件。

基本信息

結構體原型:

常見用法:

fd_set set;

FD_ZERO(&set); /*將set清零使集合中不含任何fd*/

FD_SET(fd, &set); /*將fd加入set集合*/

FD_CLR(fd, &set); /*將fd從set集合中清除*/

FD_ISSET(fd, &set); /*在調用select()函式後,用FD_ISSET來檢測fd是否在set集合中,當檢測到fd在set中則返回真,否則,返回假(0)*/

以上式子中的fd為socket句柄。

示例:

相關詞條

熱門詞條

聯絡我們