2017年6月13日 星期二

避免WebSocket因連線中斷資訊不同步

在網頁上使用WebSocket
可以很方便的做即時的訊息廣播
但如果使用者的browser沒有開啟或是
當手機關閉螢幕時都會讓WebSocket停止連線

以socket.io為例
socket在被重新打開時,socket client會依序觸發disconnect事件
與connect事件,在這個時間點就可以做資料的更新
讓本機端與server的資料狀態

為避免使用者沒有接收到Socket廣播資料,而漏掉資訊
可以做以下兩的部分的處理
1.當使用socket發出廣播訊息時,同時
  儲存紀錄於db
2.當接收到connect 事件時
  呼叫api取回更新的資訊
這樣就可以保證使用者
永遠可看到最正確的資訊

沒有留言: