unix- 网络编程 - epoll

执行流程:

1、创建监听 socket,并绑定、监听;

2、调用 epoll_create() , 创建 epollfd 代理;

3、将想要监听的 listenfd,通过 epoll_ctl() , 挂载到 epollfd 上,让 epollfd 代理监听;

4、在一个 while 循环中,调用 epoll_wait(), 程序阻塞在这里,等待客户端连接到来;

5、当某个客户端连接到来,epoll_wait() 第一次返回的是接受连接的 listenfd, 调用 accept 函数接受连接,将   accpet 返回的 connfd,挂载到 epollfd 上,继续让代理监听 connfd 的读写事件;

6、当再次到达 5 时,如果是接受连接的 listenfd,那么继续 accept, 如果是读写事件,则进行 7, 接受或发送数据。

https://www.jianshu.com/p/1395fc8bddb9

https://www.jianshu.com/p/eef7ebe28673

https://blog.csdn.net/armlinuxww/article/details/92803381

posted @ 2021-10-05 13:42  feiwatson  阅读(91)  评论(0编辑  收藏  举报