• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Sheppard Y

            keep thinking keep coding.

            epoll的各個(gè)事件觸發(fā)條件測(cè)試

            2016-07-03 日更新 
            此篇博客已經(jīng)遷移到新博客,并做行文檢查和優(yōu)化排版:

            1、listen fd,有新連接請(qǐng)求,觸發(fā)EPOLLIN。
            2、對(duì)端發(fā)送普通數(shù)據(jù),觸發(fā)EPOLLIN。
            3、帶外數(shù)據(jù),只觸發(fā)EPOLLPRI。
            4、對(duì)端正常關(guān)閉(程序里close(),shell下kill或ctr+c),觸發(fā)EPOLLIN和EPOLLRDHUP,但是不觸發(fā)EPOLLERR和EPOLLHUP。
                關(guān)于這點(diǎn),以前一直以為會(huì)觸發(fā)EPOLLERR或者EPOLLHUP
                再man epoll_ctl看下后兩個(gè)事件的說(shuō)明,這兩個(gè)應(yīng)該是本端(server端)出錯(cuò)才觸發(fā)的。
            5、對(duì)端異常斷開連接(只測(cè)了拔網(wǎng)線),沒(méi)觸發(fā)任何事件。




            附man:

            EPOLLIN
                          The associated file is available for read(2) operations.
            EPOLLOUT
                          The associated file is available for write(2) operations.
            EPOLLRDHUP
                          Stream  socket peer closed connection, or shut down writing half
                          of connection.  (This flag is especially useful for writing sim-
                          ple code to detect peer shutdown when using Edge Triggered moni-
                          toring.)
            EPOLLPRI
                          There is urgent data available for read(2) operations.
            EPOLLERR
                          Error condition happened  on  the  associated  file  descriptor.
                          epoll_wait(2)  will always wait for this event; it is not neces-
                          sary to set it in events.
            EPOLLHUP
                          Hang  up   happened   on   the   associated   file   descriptor.
                          epoll_wait(2)  will always wait for this event; it is not neces-
                          sary to set it in events.
            EPOLLET
                          Sets  the  Edge  Triggered  behavior  for  the  associated  file
                          descriptor.   The default behavior for epoll is Level Triggered.
                          See epoll(7) for more detailed information about Edge and  Level
                          Triggered event distribution architectures.
            EPOLLONESHOT (since Linux 2.6.2)
                          Sets  the  one-shot behavior for the associated file descriptor.
                          This means that after an event is pulled out with  epoll_wait(2)
                          the  associated  file  descriptor  is internally disabled and no
                          other events will be reported by the epoll interface.  The  user
                          must  call  epoll_ctl() with EPOLL_CTL_MOD to re-enable the file
                          descriptor with a new event mask.

            posted on 2009-03-12 17:17 Sheppard Y 閱讀(22863) 評(píng)論(0)  編輯 收藏 引用 所屬分類: c++

            <2014年12月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(1)

            隨筆分類(77)

            隨筆檔案(58)

            me

            基友

            同行

            業(yè)界前輩

            最新隨筆

            搜索

            積分與排名

            最新評(píng)論

            閱讀排行榜

            无码国内精品久久综合88| 国产91久久精品一区二区| 亚洲成人精品久久| 久久人妻少妇嫩草AV蜜桃| 久久人人爽人人爽人人av东京热 | 99精品国产在热久久| 精品免费久久久久久久| 人人狠狠综合久久亚洲88| 久久精品国产亚洲精品| 久久亚洲精品无码AV红樱桃| 国产精品成人99久久久久| 77777亚洲午夜久久多喷| 91久久精品电影| 国产69精品久久久久久人妻精品| 99久久精品国内| 久久毛片一区二区| 97r久久精品国产99国产精| 2021国内久久精品| 国产毛片久久久久久国产毛片| 久久精品成人欧美大片| 久久伊人影视| 久久婷婷五月综合成人D啪| 97久久久精品综合88久久| 中文国产成人精品久久不卡| 久久九色综合九色99伊人| 99久久99久久久精品齐齐| 久久久av波多野一区二区| 无码伊人66久久大杳蕉网站谷歌| 久久亚洲国产成人影院网站| 久久精品国产亚洲一区二区三区| 久久久久久免费一区二区三区 | 2020久久精品国产免费| 日本欧美久久久久免费播放网| 一本久久免费视频| 亚洲国产一成久久精品国产成人综合 | 久久妇女高潮几次MBA| 久久婷婷五月综合色奶水99啪| 国产亚洲美女精品久久久2020| 精品久久人人爽天天玩人人妻| 久久强奷乱码老熟女网站| 亚洲AV无码久久精品成人|