當前位置:法律諮詢服務網 - 企業資訊 - WEB實時推送有哪些實現方案?

WEB實時推送有哪些實現方案?

現在確實有不少這樣的場景,當後臺數據發生變化,需要主動“通知”前臺進行頁面刷新,實現方案有這麽幾種:

輪詢

很容易理解,實現起來也非常簡單的壹種方法:客戶端每隔壹段時間向後臺發送壹次請求,把最新的數據取回來。

當然缺點也比較明顯,如果定時任務的時間設置比較長,那麽數據更新和展示會不及時;如果定時任務的時間設置的比較短,那麽頻繁地訪問後臺,也會增加後臺服務器的壓力。

長輪詢

如果是輪詢的話,客戶端每次向後臺請求數據的時候,都會建立壹次連接;而長輪詢,客戶端發送請求給服務器之後,如果有最新數據的話,就直接返回,如果沒有最新數據的話,就等待,當有新數據的時候再返回。

缺點也顯而易見,因為保持連接也是會消耗資源的,並且如果長時間沒有新數據的話,也會發生超時。

Iframe

這個方式的本質是基於Iframe的HTTP長連接實現;在HTML頁面裏嵌入壹個隱_的Iframe,然後把src屬性設為壹個長連接請求,服務器就可以向Iframe傳輸數據了。

維護長鏈接就需要增加開銷,而且需要考慮連接中斷、重連等問題。

WebSocket

HTTP協議的不足,在於HTTP協議只能由客戶端發起請求,並且壹個Request要對應壹個Response(長鏈接也是如此)。

WebSocket,是要在客戶端和服務器之間,建立壹個通道,建立壹個真的長鏈接;壹旦確立WebSocket通信連接,不論服務器還是客戶端,任意壹方都可直接向對方發送數據,這個是真正意義的雙向通信;並且數據格式可以是文本,也可以是二進制數據。

我將持續分享Java開發、架構設計、程序員職業發展等方面的見解,希望能得到妳的關註。

  • 上一篇:上海皓元生物醫藥科技有限公司和 上海皓元化學科技有限公司是同壹個公司嗎?
  • 下一篇:誰知道妳認為當今中國社會在信息管理領域,最應當做的事情是什麽?我們應當如何應對信息時代的挑戰?
  • copyright 2024法律諮詢服務網