您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關什么是長連接,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
長連接是指在一個連接上可以連續發送多個數據包,在連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包,多用于操作頻繁,點對點的通訊,而且連接數不能太多情況。
長連接是:
一、定義
短連接
是指通訊雙方有數據交互時,就建立一個連接,數據發送完成后,則斷開此連接,即每次連接只完成一項業務的發送。
長連接
,指在一個連接上可以連續發送多個數據包,在連接保持期間,如果沒有數據包發送,需要雙方發鏈路檢測包。
長連接
多用于操作頻繁,點對點的通訊,而且連接數不能太多情況。每個TCP連接都需要三步握手,這需要時間,如果每個操作都是短連接,再操作的話那么處理速度會降低很多,所以每個操作完后都不斷開,下次處理時直接發送數據包就OK了,不用建立TCP連接。例如:數據庫的連接用長連接,如果用短連接頻繁的通信會造成socket錯誤,而且頻繁的socket 創建也是對資源的浪費。
而像WEB網站的http服務一般都用短鏈接,因為長連接對于服務端來說會耗費一定的資源,而像WEB網站這么頻繁的成千上萬甚至上億客戶端的連接用短連接會更省一些資源,如果用長連接,而且同時有成千上萬的用戶,如果每個用戶都占用一個連接的話,那可想而知吧。所以并發量大,但每個用戶無需頻繁操作情況下需用短連好。
總之,長連接和短連接的選擇要視情況而定。
二、應用
(1)、手機推送原理
手機推送服務的原理很簡單,就是通過建立一條手機與服務器的連接鏈路,當有消息需要發送到手機時,通過此鏈路發送即可。 推送服務的使用流程雖然略有差別但是大致都和IOS的APNS相似
1、首先是應用程序注冊消息推送。
2、 IOS跟APNS Server要deviceToken。應用程序接受deviceToken。
3、應用程序將deviceToken發送給PUSH服務端程序。
4、 服務端程序向APNS服務發送消息。
5、APNS服務將消息發送給iPhone應用程序
(2)、推送方案評價標準
推送方案的公認評價采取4s標準:1.Safe(安全) 2. Stable(穩定) 3.Save(省電省流量省成本) 4.Slim(體積小)
1.Safe (安全)
推送方案應支持透傳及各種加密方案,保障信息傳遞安全。
推送方案的ID系統應該獨立于已有的網站或服務的ID系統,這樣保障用戶在不同手機上登錄后的信息投遞準確性,避免因為取消綁定事件失敗因網絡傳輸而造成的信息誤投送。
2. Stable(穩定)
穩定包括兩個部分一個是服務器端的穩定性,一個是手機端的穩定性。
服務端穩定性,因為使用長連接方案,對服務器的開銷和要求很大,推送方案對服務器開發要求很高,海量線程連接下的服務器穩定性是非常具有挑戰性的。一般的評判標準包括:
- 同時在線時峰值 (一般按照百萬并發連接時服務器穩定性評測)
- 高并發時消息平均延遲時間(一般按照1分鐘處理1百萬條信息評測)
- 服務穩定性 (一般要求全年99.9%以上可用,有備份,有負載均衡等)
鑒于服務器穩定的開發難度很大,小團隊不建議自己開發,建議使用穩定的第三方推送方案,如個推,蝴蝶等。
手機端的穩定性,主要是因為中國的復雜網絡狀況及手機型號適配情況造成手機長時間穩定聯網較困難,所以穩定性非常重要,一般的評判標準包括:
- 每日聯網23.5小時以上用戶比例 (表征聯網穩定性)
- 消息發送后9小時內收到率 (表征到達率)
一般來說,推送方案要做網絡的分運營商,分省,分機型適配,自己開發工作量較大
3.Save(節省)
省電應注意CPU休眠,一般用服務縮短待機時間百分比評判
省流量應注意協議的修改和冗余數據包的處理,一般用空載待機月流量評判
省成本應考慮單服務器承載同時連接數,可承載同時連接數越多成本越低,業內 頂尖水平為個推的單服務器50萬連接
4.Slim(體積小)
推送服務應該體積盡量小,不影響主程序的大小和復雜度,一般以小于300K為宜。
關于什么是長連接就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。