select()函数
原型: #include<sys/time.h> #include<unistd.h> int select(int maxfd, fd_set *rdset, fd_set *wrest, fd_set *exset, struct timeval *timeout); 参数: maxfd:描述需要监视最大文件描述符+1 rdset:监视的可读文件描述符的集合 wrset:监视的可写文件描述符的集合 exset:监视的异常文件描述符的集合 struct timeval:描述一段时间长度,如果在这个时间内,需要监视的描述符没有事件发生,返回0 返回值: 超时返回0 失败返回-1 成功返回大于0的整数,这个整数表示就绪描述符的数目 int FD_ZERO(fd_set *fdset):将指定的文件描述符集情况,在对文件描述符集合进行设置之前,必须对其进行初始化。如果不请空,由于在系统分配内存后,通常不做清空处理,所以结果时不可知的。 int FD_SET(int fd, fd_set *fdset); 用于在文件描述符集合中添加一个新的文件描述符 int FD_CLR(int fd, fd_set *fdset); 用于在文件描述符集合中删除一个新的文件描述符 int FD_ISSET(int fd, fd_set *fdset); 用于测试指定的文件描述符是否在该集合中。 注意