分类: LINUX
2011-08-16 14:10:55
功能:
测试指定的fd可读?可写?有异常条件待处理?
参数:
nfds: 需要检查的文件描述字个数(即检查到fd_set的第几位),数值应该比三组fd_set中所含的最大fd
值更大,一般设为三组fd_set中所含的最大fd值加1(如在readset,writeset,exceptset中所含最大
的fd为5,则nfds=6,因为fd是从0开始的)。设这个值是为提高效率,使函数不必检查fd_set的所
有1024位。
readset: 用来检查可读性的一组文件描述字。
writeset: 用来检查可写性的一组文件描述字。
exceptset:用来检查是否有异常条件出现的文件描述字。(注:错误不包括在异常条件之内)
timeout:有三种可能:
1:timeout=NULL(阻塞:直到有一个fd位被置为1函数才返回)
2:timeout所指向的结构设为非零时间(等待固定时间:有一个fd位被置为1或者时间耗尽,函数
均返回)
3. timeout所指向的结构,时间设为0(非阻塞:函数检查完每个fd后立即返回)
返回值:
返回对应位仍然为1的fd的总数。
注:参考unix网络编程和网络资料