4 回答

TA貢獻1831條經(jīng)驗 獲得超4個贊
下面具體解釋:
#include <sys/types.h>
#include <sys/times.h>
#include <sys/select.h>
int select(nfds, readfds, writefds, exceptfds, timeout)
int nfds;
fd_set *readfds, *writefds, *exceptfds;
struct timeval *timeout;
nfds:select監(jiān)視的文件句柄數(shù),視進程中打開的文件數(shù)而定,一般設(shè)為你要監(jiān)視各文件
中的最大文件號加一。(注:nfds并非一定表示監(jiān)視的文件句柄數(shù)。官方文檔僅指出nfds is the highest-numbered file descriptor in any of the three sets, plus 1. (可在linux環(huán)境中通過man select命令查得))
readfds:select監(jiān)視的可讀文件句柄集合。
writefds: select監(jiān)視的可寫文件句柄集合。
exceptfds:select監(jiān)視的異常文件句柄集合。
timeout:本次select()的超時結(jié)束時間。(見/usr/sys/select.h,可精確至百萬分之一秒?。?br/>當readfds或writefds中映象的文件可讀或可寫或超時,本次select()
就結(jié)束返回。程序員利用一組系統(tǒng)提供的宏在select()結(jié)束時便可判
斷哪一文件可讀或可寫,對Socket編程特別有用的就是readfds。
- 4 回答
- 0 關(guān)注
- 556 瀏覽
添加回答
舉報