溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

什么是長連接

發(fā)布時間:2020-07-31 10:43:46 來源:億速云 閱讀:187 作者:Leah 欄目:互聯(lián)網(wǎng)科技

這篇文章將為大家詳細(xì)講解有關(guān)什么是長連接,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

長連接是指在一個連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包,在連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測包,多用于操作頻繁,點對點的通訊,而且連接數(shù)不能太多情況。

長連接是:

一、定義

短連接是指通訊雙方有數(shù)據(jù)交互時,就建立一個連接,數(shù)據(jù)發(fā)送完成后,則斷開此連接,即每次連接只完成一項業(yè)務(wù)的發(fā)送。

長連接,指在一個連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包,在連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測包。

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

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

總之,長連接和短連接的選擇要視情況而定。


二、應(yīng)用

(1)、手機推送原理

手機推送服務(wù)的原理很簡單,就是通過建立一條手機與服務(wù)器的連接鏈路,當(dāng)有消息需要發(fā)送到手機時,通過此鏈路發(fā)送即可。 推送服務(wù)的使用流程雖然略有差別但是大致都和IOS的APNS相似

1、首先是應(yīng)用程序注冊消息推送。

2、 IOS跟APNS Server要deviceToken。應(yīng)用程序接受deviceToken。

3、應(yīng)用程序?qū)eviceToken發(fā)送給PUSH服務(wù)端程序。

4、 服務(wù)端程序向APNS服務(wù)發(fā)送消息。

5、APNS服務(wù)將消息發(fā)送給iPhone應(yīng)用程序

(2)、推送方案評價標(biāo)準(zhǔn)

推送方案的公認(rèn)評價采取4s標(biāo)準(zhǔn):1.Safe(安全) 2. Stable(穩(wěn)定) 3.Save(省電省流量省成本) 4.Slim(體積?。?/p>

1.Safe (安全)

推送方案應(yīng)支持透傳及各種加密方案,保障信息傳遞安全。

推送方案的ID系統(tǒng)應(yīng)該獨立于已有的網(wǎng)站或服務(wù)的ID系統(tǒng),這樣保障用戶在不同手機上登錄后的信息投遞準(zhǔn)確性,避免因為取消綁定事件失敗因網(wǎng)絡(luò)傳輸而造成的信息誤投送。

2. Stable(穩(wěn)定)

穩(wěn)定包括兩個部分一個是服務(wù)器端的穩(wěn)定性,一個是手機端的穩(wěn)定性。

服務(wù)端穩(wěn)定性,因為使用長連接方案,對服務(wù)器的開銷和要求很大,推送方案對服務(wù)器開發(fā)要求很高,海量線程連接下的服務(wù)器穩(wěn)定性是非常具有挑戰(zhàn)性的。一般的評判標(biāo)準(zhǔn)包括:

- 同時在線時峰值 (一般按照百萬并發(fā)連接時服務(wù)器穩(wěn)定性評測)

- 高并發(fā)時消息平均延遲時間(一般按照1分鐘處理1百萬條信息評測)

- 服務(wù)穩(wěn)定性 (一般要求全年99.9%以上可用,有備份,有負(fù)載均衡等)

鑒于服務(wù)器穩(wěn)定的開發(fā)難度很大,小團隊不建議自己開發(fā),建議使用穩(wěn)定的第三方推送方案,如個推,蝴蝶等。

手機端的穩(wěn)定性,主要是因為中國的復(fù)雜網(wǎng)絡(luò)狀況及手機型號適配情況造成手機長時間穩(wěn)定聯(lián)網(wǎng)較困難,所以穩(wěn)定性非常重要,一般的評判標(biāo)準(zhǔn)包括:

- 每日聯(lián)網(wǎng)23.5小時以上用戶比例 (表征聯(lián)網(wǎng)穩(wěn)定性)

- 消息發(fā)送后9小時內(nèi)收到率 (表征到達率)

一般來說,推送方案要做網(wǎng)絡(luò)的分運營商,分省,分機型適配,自己開發(fā)工作量較大

3.Save(節(jié)?。?/strong>

省電應(yīng)注意CPU休眠,一般用服務(wù)縮短待機時間百分比評判

省流量應(yīng)注意協(xié)議的修改和冗余數(shù)據(jù)包的處理,一般用空載待機月流量評判

省成本應(yīng)考慮單服務(wù)器承載同時連接數(shù),可承載同時連接數(shù)越多成本越低,業(yè)內(nèi) 頂尖水平為個推的單服務(wù)器50萬連接

4.Slim(體積?。?/strong>

推送服務(wù)應(yīng)該體積盡量小,不影響主程序的大小和復(fù)雜度,一般以小于300K為宜。

關(guān)于什么是長連接就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI