zoukankan      html  css  js  c++  java
  • epoll

    4. 关闭文件描述符

    关闭一个文件描述符会使它从epoll集中自动删除,前提是对应文件表项的引用计数递减为0

    此时,close(fd)等价于epoll_ctl(epfd, EPOLL_CTL_DEL, fd, &ev0);

    同理,对一个套接字描述符调用close(),若该套接字引用计数为0,则epoll将不再监听该套接字,该套接字上已触发的所有事件即刻删除



    3. 非阻塞connect


    3.1 RST

    非阻塞式connect收到rst时,触发的事件类型如下:

    CentOS 6.5

    LT:事件类型为EPOLLIN | EPOLLERR | EPOLLHUP,事件持续触发。EPOLLERR直到对套接字调用recv即消失;EPOLLIN | EPOLLHUP直到关闭套接字,否则一直存在

    ET:事件类型为EPOLLIN | EPOLLERR | EPOLLHUP,不管有无任何处理动作,事件只触发一次

    CentOS 7.2

    LT:事件类型为EPOLLIN | EPOLLOUT | EPOLLERR | EPOLLHUP,事件持续触发。EPOLLERR直到对套接字调用recv即消失;EPOLLIN |EPOLLOUT | EPOLLHUP直到关闭套接字,否则一直存在

    ET:事件类型为EPOLLIN | EPOLLOUT | EPOLLERR | EPOLLHUP,不管有无任何处理动作,事件只触发一次



    2. 连接中的套接字收到RST

    LT:事件类型为EPOLLIN | EPOLLERR | EPOLLHUP,事件持续触发。EPOLLERR直到对套接字调用recv即消失;EPOLLIN | EPOLLHUP直到关闭套接字,否则一直存在

    ET:事件类型为EPOLLIN | EPOLLERR | EPOLLHUP,不管有无任何处理动作,事件只触发一次



    1. 套接字收到FIN

    LT:事件类型为EPOLLIN,不管有没有对该套接字调用recv,事件持续触发,直到套接字被关闭

    ET:事件类型为EPOLLIN,不管有无任何处理动作,事件只触发一次,后面即没有任何动静

  • 相关阅读:
    javaScript
    CSS
    HTML
    折纸 (模拟)
    不等式(数学)
    周期串查询
    大集训模拟赛十一
    大假期集训模拟赛十
    P1631 序列合并
    KMP(烤馍片)算法
  • 原文地址:https://www.cnblogs.com/chaikefusibushiji/p/7475579.html
Copyright © 2011-2022 走看看