i/o复用模型
seclect
poll
epoll(效率最高)
前两者类似,从poll说起
poll
函数原型
#include<poll.h>
int poll(struct pollfd *fds , nfds_t nfds , int timeout);
结构体指针 监听的文件个数 超时时间
strcut pollfd
{
int fd;//文件描述符
short events;//请求的事件
short revents;//返回的事件
}
poll 循环等待while
加入监听套接字(listenfd POLLIN事件到来 connfd=accept();关注connfd的POOLIN事件)
处理已连接套接字事件(遍历已连接套接字事集,connfd POLLIN事件到来 read(connfd,...); write(connfd,...);)