APP開(kāi)發(fā)公司淺析什么是長(zhǎng)短連接?短連接是指通訊雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此連接,即每次連接只完成一次數(shù)據(jù)交互。短連接的操作步驟:連接→數(shù)據(jù)傳輸→關(guān)閉連接。
長(zhǎng)連接是相對(duì)于通常的短連接而說(shuō)的,也就是長(zhǎng)時(shí)間保持客戶端與服務(wù)器端的連接狀態(tài),且在一個(gè)連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包。在連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測(cè)包,以維持此連接。長(zhǎng)連接的操作步驟:連接→數(shù)據(jù)傳輸→保持連接(心跳)→數(shù)據(jù)傳輸→保持連接(心跳)→……→關(guān)閉連接。
在HTTP1.1中默認(rèn)為保持長(zhǎng)連接(PersistentConnection,也稱為持久連接),數(shù)據(jù)傳輸完成后保持TCP連接不斷開(kāi),等待在同域名下繼續(xù)用這個(gè)通道傳輸數(shù)據(jù)。長(zhǎng)連接也可以使用Socket或WebSocket實(shí)現(xiàn)。
短連接用于并發(fā)量大,而每個(gè)用戶無(wú)需頻繁操作的情況,如Web網(wǎng)站的HTTP服務(wù)。因?yàn)殚L(zhǎng)連接對(duì)于服務(wù)器端來(lái)說(shuō)會(huì)耗費(fèi)一定的資源,像Web網(wǎng)站這么頻繁的有成千上萬(wàn)甚至上億客戶端的連接,如果用長(zhǎng)連接,每個(gè)用戶都占用一個(gè)連接的話,那將極其耗費(fèi)資源;而用短連接則會(huì)省一些資源。
長(zhǎng)連接則多用于操作頻繁、點(diǎn)對(duì)點(diǎn)的通信,如PUSH和IM等功能。每個(gè)TCP連接都需要三步握手,這需要時(shí)間,如果每個(gè)操作都是短連接,再次操作的話還需重新建立連接,那么PUSH或IM功能的響應(yīng)速度會(huì)降低很多,所以每個(gè)操作完成后都不斷開(kāi),下次處理時(shí)直接發(fā)送數(shù)據(jù)包就OK了,不用建立TCP連接。深圳APP開(kāi)發(fā)公司本文關(guān)于“APP開(kāi)發(fā)公司淺析什么是長(zhǎng)短連接?”的知識(shí)就介紹分享到這里,謝謝關(guān)注,博納網(wǎng)絡(luò)編輯整理。