跳到內容

WebSocket

在樹狀結構中按右鍵 ▸ 新增 ▸ WebSocket 請求

Restorm 的 WebSocket 類型涵蓋三種相近的協定,透過協定欄位選擇:websocket (原始)、socketiomqtt。本頁談的是原始 WebSocket。

一個已連上伺服器的 WebSocket 分頁:送出的訊框靠右對齊,收到的訊框靠左對齊

欄位作用
URLws://wss://
訊息要傳送的負載
標頭開啟連線時那個請求(handshake)的標頭

動作按鈕會開啟連線;回應面板會依收到的順序即時顯示訊框,並附上時間戳記。同一個按鈕 也負責關閉連線。

三個動作,需要搭配起來使用:

  • WebSocket 連線 — 開啟連線並為它命名。它有兩個輸出:connected(訊號,只發出 一次)與 message(每收到一個訊框就發出一次);
  • WebSocket send — 在具名連線上傳送一份負載;
  • 關閉 WebSocket 連線 — 把它關掉。

正是這樣的拆分,讓您能在同一張圖裡寫出「我先連線,用 HTTP 送出一個命令,然後確認 WebSocket 通知確實有到」。請參閱 連線與串流

Restorm 能託管一個 WebSocket 伺服器。它會與同一個連接埠上的其他伺服器共用 socket: 一個 HTTP 模擬伺服器與一個 WebSocket 伺服器可以一起在 :8080 上監聽 — 普通請求交給 HTTP 路由,升級請求(upgrade)則交給 WebSocket 伺服器。請參閱 模擬 WebSocket、Socket.IO 與 MQTT

十五個目標,與 Socket.IO 及 MQTT 共用:瀏覽器的 WebSocket、ws(Node.js)、 TypeScript、Socket.IO Client、MQTT.js、Python(websockets、paho-mqtt)、 Go(gorilla/websocket)、C#(ClientWebSocket)、Java(java-websocket)、Ruby、 Rust(tokio-tungstenite)、Swift(URLSessionWebSocketTask)、Kotlin(OkHttp)。