多路复用输入与输出模型

select函数用于非阻塞,当一个套接字或者一组套接字有信号时给与通知,实现多路复用输入/输出模型

原型:

#include sys/time.h

#include unistd.h

int select(int maxfd, fd_set *rdset, fd_set *wrset, fd_set *exset, struct timeval *timeout);


maxfd:需要监视的最大的文件描述符值+1

rdset, wrset, exset:需要检测的可读文件描述符的集合,可写文件描述符的集合及异常文件描述符的集合

timeval结构:描述一段时间长度,在这段时间中没有时间发生则返回0

 

fd_set:用一位表示一个设备文件fd,操作函数主要是:

FD_ZERO:将指定的fd_set清空,用于设置前的初始化

FD_SET:增加一个新的文件描述符

FD_CLR:删除一个文件描述符

FD_ISSET:测试指定的文件描述符是否在集合中

 

 

你可能感兴趣的:(多路复用输入与输出模型)