Перейти до вмісту

WebSocket

Клацніть правою кнопкою в дереві ▸ Додати ▸ Запит WebSocket.

Тип WebSocket у Restorm охоплює три споріднені протоколи, які обираються полем Протокол: websocket (сирий), socketio та mqtt. Ця сторінка присвячена сирому WebSocket.

Вкладка WebSocket, підключена до сервера: надісланий кадр вирівняно праворуч, отримані кадри — ліворуч

ПолеРоль
URLws:// або wss://
ПовідомленняВміст, який буде надіслано
ЗаголовкиЗаголовки запиту на відкриття (handshake)

Кнопка дії відкриває з’єднання; панель відповіді показує кадри одне за одним, у порядку надходження, із часовими позначками. Та сама кнопка закриває з’єднання.

Три дії, які використовуються разом:

  • З’єднання WebSocket — відкриває з’єднання й дає йому ім’я. Воно має два виходи: connected (сигнал, один раз) і message (одна емісія на кожен отриманий кадр);
  • Надсилання WebSocket — надсилає вміст іменованим з’єднанням;
  • Закриття з’єднання WebSocket — закриває його.

Саме такий поділ дає змогу описати «я підключаюся, надсилаю команду через HTTP, а потім перевіряю, що надходить сповіщення WebSocket» в одному графі. Див. З’єднання та потоки.

Restorm уміє розміщувати сервер WebSocket. Він ділить свій сокет з іншими серверами того самого порту: сервер симуляції 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).