一、長連接與短連接:
長連接:client方與server方先建立連接,連接建立後不斷開,然後再進行報文發送和接收。這種方式下由於通訊連接一直存在。此種方式常用於P2P通信。短連接:Client方與server每進行一次報文收發交易時才進行通訊連接,交易完畢後立即斷開連接。此方式常用於一點對多點通訊。C/S通信。
二、長連接與短連接的操作過程:
短連接的操作步驟是:建立連接——數據傳輸——關閉連接...建立連接——數據傳輸——關閉連接;長連接的操作步驟是:建立連接——數據傳輸...(保持連接)...數據傳輸——關閉連接
三、長連接與短連接的使用時機:
長連接多用於操作頻繁,點對點的通訊,而且連接數不能太多的情況。每個TCP連接的建立都需要三次握手,每個TCP連接的斷開要四次握手。如果每次操作都要建立連接然後再操作的話處理速度會降低,所以每次操作下次操作時直接發送數據就可以了,不用再建立TCP連接。例如:數據庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,頻繁的socket創建也是對資源的浪費。短連接:web網站的http服務一般都用短連接。因爲長連接對於服務器來說要耗費一定的資源。像web網站這麼頻繁的成千上萬甚至上億客戶端的連接用短連接更省一些資源。試想如果都用長連接,而且同時用成千上萬的用戶,每個用戶都佔有一個連接的話,可想而知服務器的壓力有多大。所以併發量大,但是每個用戶又不需頻繁操作的情況下需要短連接。
總之:長連接和短連接的選擇要視需求而定。