• <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>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            服務器的幾種異常終止

            Posted on 2010-12-27 16:39 S.l.e!ep.¢% 閱讀(521) 評論(0)  編輯 收藏 引用 所屬分類: epoll

            服務器的幾種異常終止

            作者: famdestiny ?時間: 2008-09-18 16:59:00
            1、在accept函數返回前連接夭折

            這種情況發生在TCP 3次握手剛好完成,服務器TCP將連接放入到已經建立好連接隊列中,此時客戶端給一個RST,接下來accept返回,不過這時accept返回的是ECONNECTABORT錯誤.這不是一個致命錯誤。

            2、服務器進程終止

            過程如下:

            a、kill掉服務進程,作為進程善后處理的部分,所有打開的文件描述符被關閉,這導致服務端TCP(注意"服務端"和"服務端TCP"是不同概念)發送FIN給客戶端,客戶端TCP響應以ACK。

            b、客戶端此時正阻塞在scanf函數(基于上篇中提到的客戶端模型),這導致客戶端不知道服務端TCP已經關閉連接。

            c、客戶端在scanf返回后調用write向服務端發數據,由于服務端已經被kill掉,所以服務端TCP會發送一個RST給客戶端TCP.

            d、客戶端在發送完數據后立即調用read讀取數據,由于有第一步的FIN,read立即返回0(表示EOF),然而客戶端希望的是收到剛才發送的數據而不是EOF。如果客戶端接著往服務端發數據,將誘發服務端TCP向服務端發送SIGPIPE信號,因為向接收到RST的套接口寫數據都會收到此信號.

            問題的本質在于客戶端同時處理兩個描述字--套接口和用戶輸入,程序被單純地阻塞在一個源上了。這個問題可以通過1、設置非阻塞模式。2、采用select以及epoll處理。

            3、服務器主機崩潰

            在客戶TCP發送數據后,由于接收不到ACK,它將試圖一直重傳,直到最后放棄,并返回給客戶進程一個出錯信息。ETIMEOUT表示沒有相應,EHOSTUNREACH表示路由器判定主機不可達。

            4、服務器崩潰后重啟

            由于服務端TCP丟失了以前的連接信息,這將導致服務端發送一個RST,而此時客戶端阻塞在read函數,這將導致返回一個ECONNECTRESET錯誤.

            5、服務器關機

            服務器關機時init進程會先發送SIGTERM(此信號可捕獲)給所有進程,再過一段時間發送SIGKILL(次信號不可捕獲)給仍然在運行的程序,這時就和服務器進程終止一樣了。

            ?

            97精品国产97久久久久久免费| 午夜人妻久久久久久久久| 久久91精品综合国产首页| 国产精品久久久久天天影视| 亚洲人成无码网站久久99热国产| 久久亚洲电影| 91精品国产高清久久久久久91 | 久久国产亚洲精品麻豆| 日本精品久久久久影院日本| 久久国产AVJUST麻豆| 国产精品久久久久久福利漫画| 久久久久久国产精品无码下载| 99久久精品免费| 久久青青草原亚洲av无码| 久久精品中文无码资源站| 热久久最新网站获取| 久久99精品久久久久久久久久| 久久精品无码一区二区日韩AV | 久久国产精品77777| 狠狠色丁香久久婷婷综| 久久伊人精品青青草原高清| 国产国产成人精品久久| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久久午夜精品| 亚洲中文久久精品无码ww16| 久久99久久99小草精品免视看 | 无码超乳爆乳中文字幕久久| 99久久这里只精品国产免费| 久久免费视频观看| 99热成人精品热久久669| 亚洲色欲久久久久综合网| 国产精品99久久久久久人| 亚洲精品蜜桃久久久久久| 一本久久a久久精品vr综合| 欧美久久久久久精选9999| 狠色狠色狠狠色综合久久| 久久久久久久综合日本| 欧美午夜A∨大片久久| 亚洲国产精品无码久久久不卡| 久久精品国产99国产精品亚洲| 中文字幕热久久久久久久|