epoll 边缘触发(epoll et) 源代码例子 在利用epoll编写网络应用程序,特别是服务器的时候
为了得到最优的效果,一般采用边缘触发(epoll ET)的方式
由于边缘触发,epoll_wait只有在套接字状态发生变化的时候才会返回
所以要对套接字(socket)进行循环 accept,read,write;直到套接字的缓冲区空(read,accept)或者填满(write)为止
当 read返回的字节数小于要读的字节数,或者返回 EAGAIN的时候,认为缓存区为空了
由于网络上已经有很多 epollet如何处理epollin事件的例子,所以下面是本人只提供测试如何处理 epollout事件的代码
/* ============================================================================ Name : epoll_test
c Author : Version : Copyright : Your copyright notice Description : epoll et example(echo) 此 echo 服务器对输入的内容复制了 REPEAT_NUM(20000 次),然后返回给客户端 用于测试 epollout 事件如何触发
============================================================================ */ #include #include #include #include #include #include #include #include #include #include #include #define EPOLL_SIZE 10 #define EVENT_ARR 20 #define