1. 程式人生 > >長連接與短連接區別

長連接與短連接區別

socket錯誤 中斷 短鏈 數據包 不用 例如 socket 結束 數據庫

短連接

連接->傳輸數據->關閉連接

HTTP是無狀態的,瀏覽器和服務器每進行一次HTTP操作,就建立一次連接,但任務結束就中斷連接。

也可以這樣說:短連接是指SOCKET連接後發送後接收完數據後馬上斷開連接。

長連接

連接->傳輸數據->保持連接 -> 傳輸數據-> 。。。 ->關閉連接。

長連接指建立SOCKET連接後不管是否使用都保持連接,但安全性較差。

什麽時候用長連接,短連接?

長連接多用於操作頻繁,點對點的通訊,而且連接數不能太多情況,。每個TCP連接都需要三步握手,這需要時間,如果每個操作都是先連接,再操作的話那麽處理速度會降低很多,所以每個操作完後都不斷開,次處理時直接發送數據包就OK了,不用建立TCP連接。例如:數據庫的連接用長連接, 如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket 創建也是對資源的浪費。

而像WEB網站的http服務一般都用短鏈接,因為長連接對於服務端來說會耗費一定的資源,而像WEB網站這麽頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都占用一個連接的話,那可想而知吧。所以並發量大,但每個用戶無需頻繁操作情況下需用短連好。

長連接與短連接區別