webSocket前端接收後臺資料實時更新

竹林聽雨行發表於2020-01-04

場景:使用者APP下單傳給伺服器,伺服器及時通知商家APP,商家APP接單,及時告訴給伺服器,最後伺服器及時反饋給使用者訂單狀態(待接單,已接單)。有點像餓了麼叫外賣下單

1輪詢

ajax定時器:客戶端不斷請求comet: 客戶端先請求一次,服務端沒有資料更新,就讓請求阻塞。有更新再響應資料。客戶端接收響應後,再發一次請求。。。。。但這種方法,很佔伺服器資源。

2 webSocket

是TCP協議,一次握手後,不斷開,可以進行頻繁的雙向通訊,比輪詢的多次請求節約資源。

請求頭有個…key,伺服器將這個key處理後,在響應頭裡返回給客戶端,客戶端通過key判斷是否連線成功。連線成功後,伺服器和客戶端都會有一個webSocket物件,監聽這個物件來接收和傳送資料。

3 實現實時更新主要點

請求時客戶端與伺服器端會生成一對相匹配的socket 通過這個socket進行通訊 當資料更新時獲取線上使用者 遍歷這個socket做相應處理

後續更新示例


相關文章