Przejdź do głównej zawartości

WebSocket

Kliknięcie prawym przyciskiem w drzewie ▸ Dodaj ▸ Żądanie WebSocket.

Typ WebSocket w aplikacji Restorm obejmuje trzy pokrewne protokoły, wybierane w polu Protokół: websocket (surowy), socketio i mqtt. Ta strona dotyczy surowego protokołu WebSocket.

Zakładka WebSocket połączona z serwerem: wysłana ramka wyrównana do prawej, odebrane ramki wyrównane do lewej

PoleRola
URLws:// lub wss://
WiadomośćŁadunek do wysłania
NagłówkiNagłówki żądania otwierającego połączenie (handshake)

Przycisk akcji otwiera połączenie; panel odpowiedzi wyświetla ramki na bieżąco, w kolejności i ze znacznikami czasu. Ten sam przycisk zamyka połączenie.

Trzy akcje, przeznaczone do wspólnego użycia:

  • Połączenie WebSocket — otwiera połączenie i nadaje mu nazwę. Ma dwa wyjścia: connected (sygnał, jednorazowo) oraz message (jedna emisja na każdą odebraną ramkę);
  • Wysyłanie WebSocket — wysyła ładunek przez nazwane połączenie;
  • Zamknięcie połączenia WebSocket — zamyka je.

Właśnie taki podział pozwala zapisać w jednym grafie scenariusz „nawiązuję połączenie, wysyłam zamówienie przez HTTP, a potem sprawdzam, czy dociera powiadomienie WebSocket”. Zob. Połączenia i strumienie.

Restorm potrafi hostować serwer WebSocket. Współdzieli on swoje gniazdo z pozostałymi serwerami na tym samym porcie: symulowany serwer HTTP i serwer WebSocket mogą nasłuchiwać razem na :8080 — zwykłe żądania trafiają do tras HTTP, a żądania przełączenia protokołu (upgrade) do serwera WebSocket. Zob. Symulowanie WebSocket, Socket.IO i MQTT.

Piętnaście celów wspólnych z Socket.IO i MQTT: WebSocket przeglądarki, 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).