亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

實時客戶信息同步,最佳實踐和建議

實時客戶信息同步,最佳實踐和建議

慕的地6264312 2021-05-12 13:14:55
我正在編寫一個PHP后端,JS / Jquery前端應用程序,該應用程序將允許用戶近乎實時地“通信” 。至少那是希望,我的問題是我最好的行動方針是什么?我最好使用WebSocket在服務器和客戶端之間發送數據,還是使用AJAX和某種計時器(x的秒數)更好。我對AJAX方式感到擔心的是,每15-30秒有10個以上的客戶機都在請求數據,這可能會使服務器負擔重。我需要使它接近實時,因此5分鐘實際上是不現實的。我要嘗試執行的一個示例是,如果我在一個頁面上共有5個用戶,并且用戶1更新了他們的狀態,我希望用戶2、3、4和5盡可能快地看到更新,而不必刷新。我對自己認為最好的事情感到mixed貶不一,我不想以一種方式開始做,而在完成一半后發現它是不安全的或可怕的。這樣的應用程序最好的選擇是什么?
查看完整描述

2 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

以下列出了可能的流行解決方案:

  1. 簡短輪詢(您在AJAX中指的是

  2. 長輪詢(也是AJAX,但請求太多)

  3. 網絡套接字

  4. WebRTC

因此,如您所說,對于短輪詢而言,它占用了大量資源,因此我們將其從列表中刪除。對于長輪詢,其思想是將請求發送到服務器,并且除非發生新事件(保留請求),否則服務器不會響應(但此請求很少在現代開發中使用)。因此,如果您要與其他開發人員一起工作,那將是一個錯誤的決定。

對于WebRTC,瀏覽器兼容性不是很好,在W3C中仍然是草稿。

因此,您不用使用WebSockets,是的,它們消耗ram但不消耗CPU。ram便宜得多(并且它也不會消耗太多)。

至于安全性,可以認為它們是相等的(WebRTC除外,因為它實際上是P2P通信,所以更好)

旁注:不要想太多了:)

以下是一些可以幫助您的資源:

  1. https://webrtc.org/

  2. https://github.com/walkor/phpsocket.io//類似于Socket.io的PHP套接字庫

  3. https://socket.io

  4. Web上有哪些實時通信協議?協議清單

  5. https://codeburst.io/polling-vs-sse-vs-websocket-how-to-choose-the-right-one-1859e4e13bd9很棒的民意測驗,websocket和涵蓋了SSE



查看完整回答
反對 回復 2021-05-27
  • 2 回答
  • 0 關注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號