短連線是指通訊雙方有資料互動時,就建立乙個tcp連線,資料傳送完成後,則斷開此tcp連線,一般銀行都使用短連線。
比如http的,只是連線、請求、關閉,過程時間較短,伺服器若是一段時間內沒有收到請求即可關閉連線。
其實長連線是相對於通常的短連線而說的,也就是長時間保持客戶端與服務端的連線狀態。
通常的短連線操作步驟是:
連線→資料傳輸→關閉連線;
而長連線通常就是:
連線→資料傳輸→保持連線(心跳)→資料傳輸→保持連線(心跳)→……→關閉連線;
這就要求長連線在沒有資料通訊時,定時傳送資料報(心跳),以維持連線狀態,短連線在沒有資料傳輸時直接關閉就行了
長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況,。每個tcp連線都需要三步握手,這需要時間,如果每個操作都是先連線,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,下次處理時直接傳送資料報就ok了,不用建立tcp連線。例如:資料庫的連線用長連線,如果用短連線頻繁的通訊會造成socket錯誤,而且頻繁的socket 建立也是對資源的浪費。
而像web**的http服務一般都用短鏈結,因為長連線對於服務端來說會耗費一定的資源,而像web**這麼頻繁的成千上萬甚至上億客戶端的連線用短連線會更省一些資源,如果用長連線,而且同時有成千上萬的使用者,如果每個使用者都占用乙個連線的話,那可想而知吧。所以併發量大,但每個使用者無需頻繁操作情況下需用短連好。
總之,長連線和短連線的選擇要視情況而定。
長連線和短連線
tcp ip tcp ip是個協議組,可分為三個層次 網路層 傳輸層和應用層。在網路層有ip協議 icmp協議 arp協議 rarp協議和bootp協議。在傳輸層中有tcp協議與udp協議。在應用層有 通過tcp協議來通訊的應用層協議包括ftp http telnet smtp等 通過udp協議來通...
長連線和短連線
長連線是建立socket之後,一直不關閉該socket,一般是tcp協議,我們知道tcp是雙工的,能夠保證cs兩端可以互發資料。短連線建立socket之後,做一次很短的互動 只發不收,或者發了就收 之後,就關閉該socket,一般都是基於http 在tcp之上 tcp ip是傳輸層協議,主要解決資料...
長連線和短連線
長連線 長連線多用於操作頻繁,點對點的通訊,而且連線數不能太多情況。每個tcp連線都需要三步握手,這需要時間,如果每個操作都是短連線,再操作的話那麼處理速度會降低很多,所以每個操作完後都不斷開,下次處理時直接傳送資料報就ok了,不用建立tcp連線。例如 資料庫的連線用長連線,如果用短連線頻繁的通訊會...