1.poll模型原理
poll模型是基于select最大文件描述符限制提出的,跟select一样,只是将select使用的三个基于位的文件描述符改为使用一个数组的形式,对于各种可能的事件进行了一个包装
#include <sys/poll.h>
int poll (struct pollfd *fds, unsigned int nfds, int timeout);
参数说明:
第一个参数fds为一个pollfd结构数组,用来保存文件描述符
第二个参数nfds为pollfd结构体数组+1
第三个参数timeout为poll等待时间
返回值:
正常返回值为轮询文件描述符结构有事件发送的个数,-1返回失败
和select()不一样,poll()没有使用低效的三个基于位的文件描述符set,而是采用了一个单独的结构体pollfd数组,由fds指针指向这个组。pollfd结构体定义如下&