亚洲免费人人妻人人,cao78在线视频,福建一级毛片,91精品视频免费观看,高清另类图片操逼,日本特黄特色大片免费看,超碰欧美人人澡曰曰澡夜夜泛

TCP之異常關(guān)閉的意義 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.msguai.com - 電腦資料】

    TCP之異常關(guān)閉的意義

    終止一個連接的正常方式是發(fā)送FIN,

TCP之異常關(guān)閉的意義

。在發(fā)送緩沖區(qū)中所有排隊數(shù)據(jù)都已發(fā)送之后才發(fā)送FIN,正常情況下沒有任何數(shù)據(jù)丟失。

    但我們有時也有可能發(fā)送一個RST報文段而不是FIN來中途關(guān)閉一個連接。這稱為異常關(guān)閉。

    進程關(guān)閉socket的默認方式是正常關(guān)閉,如果需要異常關(guān)閉,利用SO_LINGER選項來控制。

    異常關(guān)閉一個連接對應(yīng)用程序來說有兩個優(yōu)點:

    (1)丟棄任何待發(fā)的已經(jīng)無意義的數(shù)據(jù),并立即發(fā)送RST報文段;

    (2)RST的接收方利用關(guān)閉方式來區(qū)分另一端執(zhí)行的是異常關(guān)閉還是正常關(guān)閉,

電腦資料

TCP之異常關(guān)閉的意義》(http://www.msguai.com)。

    值得注意的是RST報文段不會導(dǎo)致另一端產(chǎn)生任何響應(yīng),另一端根本不進行確認。收到RST的一方將終止該連接。程序行為如下:

    阻塞模型下,內(nèi)核無法主動通知應(yīng)用層出錯,只有應(yīng)用層主動調(diào)用read()或者write()這樣的IO系統(tǒng)調(diào)用時,內(nèi)核才會利用出錯來通知應(yīng)用層對端RST。

    非阻塞模型下,select或者epoll會返回sockfd可讀,應(yīng)用層對其進行讀取時,read()會報錯RST。

    haproxy的實現(xiàn)中用到了這個選項。

最新文章