文件IO之多路复用-poll
1.函数原型 #include <poll.h> int poll(struct pollfd *fds, nfds_t nfds, int timeout) 参数1:多个文件描述符的集合,为一个数组指针 struct pollfd{ int fd; // 文件描述符 short events; // 期望监控的文件描述符事件:PLLIN,PLLOUT,PLLERR short revents; // 事件结果:PLLIN,PLLOUT,PLLERR }; 参数2:被监控的文件描述符的个数 参数3:监控的时间,单位为ms,负数表示-无限监控 返回值:负-出错,正-监控到有效事件,0-监控时间到。 2.用法-应用程序中怎么调用poll a.打开要监控的文件,并保存文件描述符到struct follfd fds[]数组中。并将要监控的文件描述符信息填到 fds[]数组中。 struct follfd fds[2]; // 建立要监控的文件描述符数组 // 初始化数组,将要监控的文件描述符信息填入数组。 fds[0].fd = STDIN //打开的文件描述符 fds[0].event = POLLIN //监听的事件 fds[1].fd = STDERR //打开的文件描述符 fds[1].event = POLLIN //监听的事件 b.调用poll函数 int ret = poll