TCP長(zhǎng)連接與段鏈接

  1. TCP連接
    當(dāng)網(wǎng)絡(luò)通信時(shí)采用TCP協(xié)議時(shí)隔心,在真正的讀寫(xiě)操作之前,server與client之間必須建立一個(gè)連接帜慢,當(dāng)讀寫(xiě)操作完成后粱玲,雙方不再需要這個(gè)連接時(shí)它們可以釋放這個(gè)連接拜轨,連接的建立是需要三次握手的橄碾,而釋放則需要4次握手法牲,所以說(shuō)每個(gè)連接的建立都是需要資源消耗和時(shí)間消耗的
  2. TCP短連接
    我們模擬一下TCP短連接的情況,client向server發(fā)起連接請(qǐng)求停撞,server接到請(qǐng)求怜森,然后雙方建立連接谤牡。client向server發(fā)送消息姥宝,server回應(yīng)client翅萤,然后一次讀寫(xiě)就完成了,這時(shí)候雙方任何一個(gè)都可以發(fā)起close操作腊满,不過(guò)一般都是client先發(fā)起close操作套么。為什么呢,一般的server不會(huì)回復(fù)完client后立即關(guān)閉連接的碳蛋,當(dāng)然不排除有特殊的情況胚泌。從上面的描述看,短連接一般只會(huì)在client/server間傳遞一次讀寫(xiě)操作
    短連接的優(yōu)點(diǎn)是:管理起來(lái)比較簡(jiǎn)單肃弟,存在的連接都是有用的連接玷室,不需要額外的控制手段
    3.TCP長(zhǎng)連接
    接下來(lái)我們?cè)倌M一下長(zhǎng)連接的情況零蓉,client向server發(fā)起連接,server接受client連接穷缤,雙方建立連接敌蜂。Client與server完成一次讀寫(xiě)之后津肛,它們之間的連接并不會(huì)主動(dòng)關(guān)閉秸脱,后續(xù)的讀寫(xiě)操作會(huì)繼續(xù)使用這個(gè)連接。
    TCP倍羝活功能:保活功能主要為服務(wù)器應(yīng)用提供髓需,服務(wù)器應(yīng)用希望知道客戶主機(jī)是否崩潰,從而可以代表客戶使用資源咧擂。
    如果一個(gè)給定的連接在兩小時(shí)內(nèi)沒(méi)有任何的動(dòng)作,則服務(wù)器就向客戶發(fā)一個(gè)探測(cè)報(bào)文段贸桶,客戶主機(jī)必須處于以下4個(gè)狀態(tài)之一:

1.客戶主機(jī)依然正常運(yùn)行坠七,并從服務(wù)器可達(dá)。客戶的TCP響應(yīng)正常艘包,而服務(wù)器也知道對(duì)方是正常的,服務(wù)器在兩小時(shí)后將鄙喑活定時(shí)器復(fù)位署浩。
2.客戶主機(jī)已經(jīng)崩潰炊汤,并且關(guān)閉或者正在重新啟動(dòng)。在任何一種情況下迈倍,客戶的TCP都沒(méi)有響應(yīng)。服務(wù)端將不能收到對(duì)探測(cè)的響應(yīng),并在75秒后超時(shí)丘侠。服務(wù)器總共發(fā)送10個(gè)這樣的探測(cè) ,每個(gè)間隔75秒粗梭。如果服務(wù)器沒(méi)有收到一個(gè)響應(yīng),它就認(rèn)為客戶主機(jī)已經(jīng)關(guān)閉并終止連接。
3.客戶主機(jī)崩潰并已經(jīng)重新啟動(dòng)醉锅。服務(wù)器將收到一個(gè)對(duì)其保活探測(cè)的響應(yīng)甚纲,這個(gè)響應(yīng)是一個(gè)復(fù)位春哨,使得服務(wù)器終止這個(gè)連接燃观。
4.客戶機(jī)正常運(yùn)行颁督,但是服務(wù)器不可達(dá)虎锚,這種情況與2類似柱徙,TCP能發(fā)現(xiàn)的就是沒(méi)有收到探查的響應(yīng)滨溉。

在長(zhǎng)連接的應(yīng)用場(chǎng)景下,client端一般不會(huì)主動(dòng)關(guān)閉它們之間的連接近上,Client與server之間的連接如果一直不關(guān)閉的話,會(huì)存在一個(gè)問(wèn)題,隨著客戶端連接越來(lái)越多,server早晚有扛不住的時(shí)候牧愁,這時(shí)候server端需要采取一些策略淋昭,如關(guān)閉一些長(zhǎng)時(shí)間沒(méi)有讀寫(xiě)事件發(fā)生的連接,這樣可以避免一些惡意連接導(dǎo)致server端服務(wù)受損;如果條件再允許就可以以客戶端機(jī)器為顆粒度熊响,限制每個(gè)客戶端的最大長(zhǎng)連接數(shù)洪碳,這樣可以完全避免某個(gè)蛋疼的客戶端連累后端服務(wù)嫂侍。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吵冒,一起剝皮案震驚了整個(gè)濱河市哈肖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌魏颓,老刑警劉巖偷遗,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涣旨,死亡現(xiàn)場(chǎng)離奇詭異烹棉,居然都是意外死亡伏社,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門烘跺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)铺敌,“玉大人,你說(shuō)我怎么就攤上這事悬垃√说瑁” “怎么了瓶蝴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵歉眷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么凶掰? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮蜈亩,結(jié)果婚禮上懦窘,老公的妹妹穿的比我還像新娘。我一直安慰自己稚配,他們只是感情好畅涂,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著道川,像睡著了一般午衰。 火紅的嫁衣襯著肌膚如雪立宜。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,806評(píng)論 1 290
  • 那天苇经,我揣著相機(jī)與錄音赘理,去河邊找鬼。 笑死扇单,一個(gè)胖子當(dāng)著我的面吹牛商模,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜘澜,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼施流,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了鄙信?” 一聲冷哼從身側(cè)響起瞪醋,我...
    開(kāi)封第一講書(shū)人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎装诡,沒(méi)想到半個(gè)月后银受,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鸦采,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年宾巍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渔伯。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡顶霞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锣吼,到底是詐尸還是另有隱情选浑,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布玄叠,位于F島的核電站古徒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏诸典。R本人自食惡果不足惜描函,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望狐粱。 院中可真熱鬧舀寓,春花似錦、人聲如沸肌蜻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蒋搜。三九已至篡撵,卻和暖如春判莉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背育谬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工券盅, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人膛檀。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓锰镀,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親咖刃。 傳聞我的和親對(duì)象是個(gè)殘疾皇子泳炉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)嚎杨,斷路器花鹅,智...
    卡卡羅2017閱讀 134,633評(píng)論 18 139
  • 1、TCP狀態(tài)linux查看tcp的狀態(tài)命令:1)枫浙、netstat -nat 查看TCP各個(gè)狀態(tài)的數(shù)量2)刨肃、lso...
    北辰青閱讀 9,410評(píng)論 0 11
  • 轉(zhuǎn)之景。。膏潮。。满力。焕参。。油额。 SOCKET叠纷,TCP/UDP,HTTP,FTP (一)TCP/UDP,SOCKET,HTTP,...
    zeqinjie閱讀 3,273評(píng)論 1 53
  • 18.1 引言 TCP是一個(gè)面向連接的協(xié)議。無(wú)論哪一方向另一方發(fā)送數(shù)據(jù)之前潦嘶,都必須先在雙方之間建立一條連接涩嚣。本章將...
    張芳濤閱讀 3,347評(píng)論 0 13
  • 關(guān)注了近一年的電影,15日全國(guó)上映掂僵。提前看了點(diǎn)映場(chǎng)航厚。 原諒我只能以一個(gè)狹隘的眼光來(lái)看這部軍旅背景...
    一念微暖閱讀 249評(píng)論 0 0