Linux第二十四讲:多路转接epoll
Linux第二十四讲:多路转接epoll
- 1.什么是epoll && epoll的原理
- 1.1什么是epoll && epoll接口讲解
- 1.2epoll的底层原理&&代码 && epoll接口的设计
- 2.基于epoll 的echo server实现
- 3.epoll的优点(也就是epoll和select的区别)
- 4.LT(水平触发) && ET(边缘触发)工作模式
- 4.1什么是LT和ET? && 如何理解LT和ET?
- 4.2LT和ET效率问题 && 更深入理解LT和ET
- 5.ET模式和非阻塞文件描述符
1.什么是epoll && epoll的原理
1.1什么是epoll && epoll接口讲解
1.2epoll的底层原理&&代码 && epoll接口的设计
2.基于epoll 的echo server实现
3.epoll的优点(也就是epoll和select的区别)
4.LT(水平触发) && ET(边缘触发)工作模式
4.1什么是LT和ET? && 如何理解LT和ET?
4.2LT和ET效率问题 && 更深入理解LT和ET
5.ET模式和非阻塞文件描述符
除了上面的一个特殊情况,还存在下面的比较常见的情况:
当一个客户端要与一个服务器建立连接,客户端先给服务器发送3000字节的请求,服务端ET模式,读取了1000字节,剩余2000字节会被留在缓冲区中,此时就发生了很尴尬的情况:服务端说,我需要将3000字节的报文完整读取,才能给客户端发送应答,客户端说,我需要接收到服务端的请求,才可以继续做出应答,这里就卡死了!