poll,epoll多路复用

关于select:https://blog.csdn.net/Dian0dian0/article/details/88829531

poll函数的原型说明如下:

#include 

struct  pollfd

{

int fd;  //文件描述符

short   events;   //等待的事件

short   revents  // 实际发生了的事件

};//谁需要监视它的什么事件,实际发生了什么事件。

  成员 解析
成员一 int fd;

被监视文件的描述符,指示poll()监视多个文件描述符

监视该文件描述符的事件掩码,由用户来设置这个域

文件描述符的操作结果事件掩码,内核在调用返回时设置这个域,events 域中请求的任何时间都可能在revents域中返回

成员二 short   events; 需要监视的事件、
成员三 short   revents 实际发生的事件
事件【】


 

 

int poll (struct   pollfd  *fds, nfds_t   nfds,  int timeout);

  参数 解析
参数一 struct   pollfd  *fds 用来指向一个struct pollfd类型的数组,每一个pollfd结构体指定了一个被监视的文件描述符,指示poll()监视多个文件描述符,每个结构体的events域是监控该文件描述符的时间掩码,由用户来设置这个域。revents 域文件描述符的操作结果时间掩码,内核在调用返回时设置这个域,events域中的请求的任何时间都可能在reevents域中返回,
参数二 nfds_t   nfds  
参数三 int timeout  

 

你可能感兴趣的:(linux,socket,C)