2019-07-05長鏈接 短鏈接

長連接1.client 向 server 發(fā)起連接2.server 接到請求,雙方建立連接3.client 向 server 發(fā)送消息4.server 回應(yīng) client5.一次讀寫完成,連接不關(guān)閉6.后續(xù)讀寫操作...7.長時間操作之后client發(fā)起關(guān)閉請求長連接就是在建立連接和關(guān)閉連接之間可以進(jìn)行多次數(shù)據(jù)傳輸短連接1.client 向 server 發(fā)起連接請求2.server 接到請求,雙方建立連接3.client 向 server 發(fā)送消息4.server 回應(yīng) client5.一次讀寫完成,此時雙方任何一個都可以發(fā)起 close 操作短連接就是在建立連接到關(guān)閉連接只進(jìn)行一次連接長連接與短連接的優(yōu)缺點(diǎn)長連接可以省去較多的tcp建立和關(guān)閉的操作,減少浪費(fèi),節(jié)約時間;對于頻繁請求資源的客戶來說較適用長連接client與server之間的連接如果一直不關(guān)閉的話會存在一個問題,隨著客戶端連接越來越多,server早晚有扛不住的時候,這時候server端需要采取一些策略;如關(guān)閉一些長時間沒有讀寫事件發(fā)生的連接這樣可以避免一些惡意連接導(dǎo)致server端服務(wù)受損;如果條件再容許就可以以客戶端機(jī)器為顆粒度,限制每個客戶端的最大長連接數(shù),這樣就可以避免客戶端連累后端服務(wù)短連接對于服務(wù)器來書管理較為簡單,存在的連接都是有用的連接,不需要額外的控制手段但如果客戶請求頻繁,將在TCP的建立和關(guān)閉操作上浪費(fèi)時間和帶寬

TCP長/短連接的應(yīng)用場景

長連接多用于操作頻繁,點(diǎn)對點(diǎn)的通訊,而且連接數(shù)不能太多情況。每個TCP連接都需要三次握手,這需要時間,如果每個操作都是先連接,再操作的話那么處理速度會降低很多,所以每個操作完后都不斷開,再次處理時直接發(fā)送數(shù)據(jù)包就OK了,不用建立TCP連接。例如:數(shù)據(jù)庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket 創(chuàng)建也是對資源的浪費(fèi)。而像WEB網(wǎng)站的http服務(wù)一般都用短鏈接,因?yàn)殚L連接對于服務(wù)端來說會耗費(fèi)一定的資源,而像WEB網(wǎng)站這么頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都占用一個連接的話,那可想而知吧。所以并發(fā)量大,但每個用戶無需頻繁操作情況下需用短連好。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. HTTP協(xié)議與TCP/IP協(xié)議的關(guān)系 HTTP的長連接和短連接本質(zhì)上是TCP長連接和短連接。HTTP屬于應(yīng)用...
    你好8828閱讀 4,967評論 0 3
  • 嘮叨:最近一段時間聽到同事們在討論長連接和短連接,然而無巧不成書,回到家中恰好有幾個朋友也問我長連接和短連接什么時...
    隨心__閱讀 10,670評論 0 5
  • HTTP長連接、短連接究竟是什么? 1. HTTP協(xié)議與TCP/IP協(xié)議的關(guān)系 HTTP的長連接和短連接本質(zhì)上是T...
    Apple_Boy閱讀 674評論 1 5
  • 1. HTTP協(xié)議與TCP/IP協(xié)議的關(guān)系 HTTP的長連接和短連接本質(zhì)上是TCP長連接和短連接。HTTP屬于應(yīng)用...
    InnocenceYWQ閱讀 697評論 0 7
  • 接受一個任務(wù)之前,把所有的功能都對照齊全,記錄下來,代碼寫完后一定要重新對照一遍,包括效果圖和所有的業(yè)務(wù)邏輯.
    不拘小節(jié)123456閱讀 532評論 0 0

友情鏈接更多精彩內(nèi)容