跳到內容

Socket.IO

只要在 WebSocket 請求上選擇 socketio 協定, 就能使用 Socket.IO。

與原始 WebSocket 不同,Socket.IO 傳輸的是具名事件:區分兩則訊息的是事件名稱, 而不是訊息內容。

一個 Socket.IO 分頁:伺服器 URL、事件名稱「pet」、要送出的 JSON 負載,以及 handshake 的標頭

欄位作用
URLSocket.IO 伺服器的 URL
事件送出的事件名稱
訊息事件的負載
標頭handshake 的標頭

Socket.IO 連線 是唯一輸出可自行設定的動作:您宣告您關心的事件清單,該節點 就會為每個事件各開一個連接埠,另外再加上:

  • connected — 連線建立時發出的訊號;
  • others — 預設連接埠,接收所有未宣告的事件。

這讓分流變得乾淨俐落:commande:acceptée 走一邊、commande:refusée 走另一邊,完全 不必寫條件判斷。

Socket.IO send(帶頻道與負載)與關閉 Socket.IO 連線這兩個動作補完了整個 生命週期。請參閱 連線與串流

Restorm 能託管一個 Socket.IO 伺服器,它會與同一個連接埠上的其他伺服器共用 socket。 請參閱 模擬 WebSocket、Socket.IO 與 MQTT