關於select:https://blog.csdn.net/Dian0dian0/article/details/88829531
poll函數的原型說明如下:
#include <poll.h>
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