WebSocket
什麼是 WebSocket?
WebSocket 是一種保持開放的雙向通訊通道,因此得名。 WebSocket 連線由名為握手的過程發起,其中客戶端向伺服器發送 HTTP 請求,伺服器建立會話。
握手後,客戶端和伺服器都可以發送任意數據,客戶端發起的訊息由伺服器透過將訊息發送回客戶端來確認。由於這種全雙工通訊通道,當使用 HTTP cookie 時,用戶端和伺服器之間的控制流將從雙向訊息傳遞返回到單向訊息傳遞。
重要的是它是瀏覽器和伺服器之間的開放連接,並且可以雙向傳輸資料。
WebSocket 可用於不同的應用程序,包括聊天室、撲克遊戲、股票行情、多人遊戲、視訊串流服務等等。您唯一需要做的就是在防火牆中開啟一個連接埠並配置您的 Web 伺服器以使用它。
瀏覽器和伺服器之間傳輸大量數據,有時打開連線並保持開啟狀態直到工作完成會更容易。在處理大量資料或頻繁更改的資料時尤其如此。 HTML5 WebSocket API 可以讓您做到這一點。
利用 WebSocket 可以減少延遲,從而使 Web 應用程式更有效地運行,從而轉化為更好的使用者體驗。
以下是 WebSocket 的不同用例如何實現更好的使用者體驗:
即時 Web 應用程式:WebSocket 是基於單一 TCP 套接字的雙向通訊通道。與 HTTP 不同,WebSocket 連線可以無限期地保持活動狀態。它們旨在用於客戶端和伺服器之間的雙向通信,其中需要將大量資料從伺服器發送到客戶端,而不會丟失任何資料或等待客戶端請求更多資料。
交易網站依賴WebSocket通道,因此用戶始終了解波動。這些網站的後端伺服器不斷在同一個開放通道上將資料推送到客戶端。
遊戲應用程式:WebSocket 的重要用例之一是遊戲應用程序,它可用於啟用即時場景。它維護客戶端和伺服器之間的持久連接。這允許即時資料傳輸而無需刷新用戶介面。 UI 不需要建立另一個連線來接收資料。
聊天應用程式:當需要在使用者之間廣播訊息時,WebSocket 是理想的協定。聊天應用程式使用 WebSocket 建立連線並重複使用相同開啟的連線來傳送訊息。