结构体:生成的也是一个fd值,最后需要关闭
int epfd = epoll_create(256);
会监听放入的socket
事件监听:ev.events可以设置监听socket什么动作以及什么模式
epoll_event ev;
/*注册事件,放入ev中*/
ev.data.fd = server.get_sock();
/*消息进来,边缘触发*/
ev.events = EPOLLIN | EPOLLET;
epoll_ctl(epfd, EPOLL_CTL_ADD, server.get_sock(), &ev);
阻塞等待:events为产生动作的epoll_event,还可以设置接受的个数以及阻塞的时间
int count = epoll_wait(epfd, events, 20, 500);
总结:其实和select还是有点类似的
select是将需要监听的socket放入read、write、exp就会监听对应时间
而epoll则是对每一个socket设置监听的事件
差别:ET触发
select是进行全部的遍历、ET触发似乎不是全部遍历,还需要学习