websocket心跳檢測前後端架構
本篇文章爲初略架構websocket在前後端的心跳檢測機制,實現相對毛糙。
下面介紹內容參照 廖雪峯 的描述,爲了切換頁面麻煩,這裏就直接挑簡要的信息複製黏貼過來。
廖雪峯 – WebSocket 教程。
爲什麼需要 WebSocket?
初次接觸 WebSocket 的人,都會問同樣的問題:我們已經有了 HTTP 協議,爲什麼還需要另一個協議?它能帶來什麼好處?
答案很簡單,因爲 HTTP 協議有一個缺陷:通信只能由客戶端發起。
舉例來說,我們想了解今天的天氣,只能是客戶端向服務器發出請求,服務器返回查詢結果。HTTP 協議做不到服務器主動向客戶端推送信息。
這種單向請求的特點,註定瞭如果服務器有連續的狀態變化,客戶端要獲知就非常麻煩。我們只能使用"輪詢":每隔一段時候,就發出一個詢問,瞭解服務器有沒有新的信息。最典型的場景就是聊天室。
輪詢的效率低,非常浪費資源(因爲必須不停連接,或者 HTTP 連接始終打開)。因此,工程師們一直在思考,有沒有更好的方法。WebSocket 就是這樣發明的。
簡介
WebSocket 協議在2008年誕生,2011年成爲國際標準。所有瀏覽器都已經支持了。
它的最大特點就是,服務器可以主動向客戶端推送信息,客戶端也可以主動向服務器發送信息,是真正的雙向平等對話,屬於服務器推送技術的一種。
爲什麼需要心跳包?
在問這個問題前,需要了解什麼是心跳包,爲什麼問題這麼多???
愛因斯坦說過,往往提出一個問題比解決一個問題要重要的多。著名的“