文章目录:
epoll_create创建 epoll_ctl操作 epoll_wait阻塞
select、poll以及epoll都是系统内核来对网络通信中的通信套接字(文件描述符)来进行监视
能够在与服务器连接的大量客户端中识别出与服务器请求了数据交换的客户端,并把它们所对应的套接字通过函数返回,交给服务器
此时服务器只需要和请求了数据交换的客户端进行通信即可,而其它的套接字则不做任何处理
因此,比起服务器自身每次去轮询查询并处理每个套接字的效率要高很多
一:select
1.基础API
2.server.c
3.client.c
二:poll
这个函数是一个半成品,用的很少
1.基础API
2.server.c
3.client.c
三:epoll
epoll是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率:都连接但不发送数据
1.基础API
2.server.c
3.client.c
4.事件模型(epoll 事件触发模型ET和LT)
4.1 server.c
4.2 client.c
5.epoll 反应堆模型
epoll基于非阻塞I/O事件驱动