epool EPOLLLT模式和EPOLLET模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了epool EPOLLLT模式和EPOLLET模式相关的知识,希望对你有一定的参考价值。
EPOLLLT是系统默认模式,如果监听的socket链接,只要socket缓存有数据,就触发EPOLLIN,同样只要发送缓存有空间,都会有持续不间断的EPOLLOUT通知。
EPOLLET 在接收数据时, 如果有数据只会通知一次, 假如read时未读完数据,那么不会再有EPOLLIN的通知了, 直到下次有新的数据到达时为止; 当发送数据时, 如果发送缓存未满也只有一次EPOLLOUT的通知, 除非你把发送缓存塞满了, 才会有第二次EPOLLOUT通知的机会, 所以在此方式下read和write时都要处理好。
PS:如果将一个socket描述符添加到两个epoll中, 那么即使在EPOLLET模式下, 只要前一个epoll_wait时,未读完, 那么后一个epoll_wait事件时, 也会得到读的通知, 但前一个读完的情况下, 后一个epoll就不会得到读事件的通知。
http://blog.csdn.net/lrh406317290/article/details/8755126
以上是关于epool EPOLLLT模式和EPOLLET模式的主要内容,如果未能解决你的问题,请参考以下文章