大并发高性能服务器 2

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,...);)   

上一篇:C#的Timer


下一篇:滴水逆向-结构体