[推薦] 網頁即時通訊的技術

Source

https://rxdb.info/articles/websockets-sse-polling-webrtc-webtransport.html

Summary

本文比較了現有所有的網路即時通訊技術,包括 WebSockets, SSE, Polling, WebRTC, WebTransport,並點出限制與效能比較

WebRTC 是個標準,以下總結不包含

  1. 只有 WebSockets 與 WebTransport 是雙向通訊
  2. 最多 6 個連線,雖然走 HTTP2/3 可以避開此限制,但仍有 SETTINGS_MAX_CONCURRENT_STREAMS 上限
  3. 在手機上連線並不會持續開啟
  4. 企業很常會因為 proxy 或 firewall 問題而無法使用 WebSockets
  5. Latency: WebTransport ?= WebSockets < SSE < Polling
  6. Throughput: WebTransport ?= WebSockets < SSE < Polling
  7. Scalability: SSE > WebTransport ?= WebSockets > Polling
  8. SSE 在大多數需要 server 推送的場景較簡單,因為是走 HTTP
cmd + /