https://banu.com/blog/2/how-to-use-epoll-a-complete-example-in-c/ 这个
epoll_create创建一个epoll监控队列
epoll_ctl EPOLL_CTL_ADD把主socket加入队列,在有连接进来时返回事件
返回事件后判断是否有错误产生
没有错误则检查每个事件 如果事件属于主socket[1],这表明有连接过来,把accept的socket加入队列
如果事件是accept的socket,表明有数据到了,循环读取直到缓冲区被取空,然后epoll_ctl EPOLL_CTL_DEL把accept的socket移出队列
进入下一次循环
[1]这里检查应该是用来区分主socket和accepted socket吧?
如果有错,还请指正:)
另外,man上说ET模式可以EPOLLIN|EPOLLOUT,这样对效率会有影响吗?
p.s.吐槽下Google 好淫荡 搜索先显示一个勾引你收藏的页面 再点一次才能到结果页
epoll_create创建一个epoll监控队列
epoll_ctl EPOLL_CTL_ADD把主socket加入队列,在有连接进来时返回事件
返回事件后判断是否有错误产生
没有错误则检查每个事件 如果事件属于主socket[1],这表明有连接过来,把accept的socket加入队列
如果事件是accept的socket,表明有数据到了,循环读取直到缓冲区被取空,然后epoll_ctl EPOLL_CTL_DEL把accept的socket移出队列
进入下一次循环
[1]这里检查应该是用来区分主socket和accepted socket吧?
如果有错,还请指正:)
另外,man上说ET模式可以EPOLLIN|EPOLLOUT,这样对效率会有影响吗?
p.s.吐槽下Google 好淫荡 搜索先显示一个勾引你收藏的页面 再点一次才能到结果页