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

上一篇:2021-09-28


下一篇:epoll使用