什麼是長連線和短連線

2021-08-31 03:46:51 字數 898 閱讀 4750

在日常專案中,大多的時候我們用的是短連線,乙個請求過來,乙個執行緒處理完該請求,執行緒被執行緒池**,這個請求就關閉了.雖然這能滿足很大部分的需求,但是也有些問題,比如說:如果客戶端發的請求比較多,比較頻繁,服務端就會忙於建立連線處理請求,由於服務端的執行緒數也有限,併發比較大的話有可能會造成服務端的崩潰.那有沒有一種辦法使連線少一些,讓乙個執行緒可以處理多個連線?長連線的出現就是為了解決上面的問題

長連線

client與server先建立連線以後不斷開,然後進行通訊(也就是傳送報文)。這種方式由於連線一直存在,所以被稱為長連線。經常用於p2p通訊。

建立連線——資料傳輸…(保持連線)…資料傳輸——關閉連線

短連線client與server每進行一次通訊(報文)才發起連線,交易完畢後 立即斷開連線。此方式常用於一點對多通訊。c/s通訊用得比較多。

建立連線——資料傳輸——關閉連線…建立連線——資料傳輸——關閉連線

長連線與短連線的使用時機

長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多的情況。每個 tcp連線的建立都需要三次握手,每個tcp連線的斷開要四次握手。如果每次 操作都要建立連線然後再操作的話處理速度會降低,所以每次操作下次操作 時直接傳送資料就可以了,不用再建立tcp連線。例如:資料庫的連線用長連線,如果用短連線頻繁的通訊會造成socket錯誤,頻繁的socket建立也是對資源的浪費。

在具體的網路應用中,smtp,pop3,telnet,網路遊戲應用一般是長連線

短連線web**的http服務一般都用短連線。因為長連線對於伺服器來說要耗費一定 的資源。像web**這麼頻繁的成千上萬甚至上億客戶端的連線用短連線更省 一些資源。試想如果都用長連線,而且同時用成千上萬的使用者,每個使用者都 占有乙個連線的話,可想而知伺服器的壓力有多大。所以併發量大,但是每個使用者又不需頻繁操作的情況下需要短連線。

什麼是長連線和短連線?

在tcp雙方通訊之前,需要通過 三次握手 建立一條鏈結。鏈結建立以後雙方就可以進行資料互動了,當互動完成後還需要通過 四次揮手 斷開鏈結,這是tcp通訊的一般流程。每個鏈結的建立都是需要資源消耗和時間消耗的,正是考慮到資源消耗和時間問題,才有了tcp短鏈結和長鏈結機制。首先看下tcp短鏈結的情況 1...

什麼是長連線 短連線?

某些朋友對長 短連線的概念存在誤解,下面我們嘗試釐清這2個概念。1 一般情況下,client成功連線到server後,會傳送1個或幾個請求,收到server端1個或幾個應答 然後!就會非常識趣地馬上呼叫close 關閉連線了。這就叫短連線。2 某些情況下,如果client有很多資料要傳給server...

長連線和短連線

短連線是指通訊雙方有資料互動時,就建立乙個tcp連線,資料傳送完成後,則斷開此tcp連線,一般銀行都使用短連線。比如http的,只是連線 請求 關閉,過程時間較短,伺服器若是一段時間內沒有收到請求即可關閉連線。其實長連線是相對於通常的短連線而說的,也就是長時間保持客戶端與服務端的連線狀態。通常的短連...