Zum Inhalt springen

WebSocket

Rechtsklick im Baum ▸ Hinzufügen ▸ WebSocket-Anfrage.

Der WebSocket-Typ von Restorm deckt drei verwandte Protokolle ab, die über ein Feld Protokoll ausgewählt werden: websocket (roh), socketio und mqtt. Diese Seite behandelt das rohe WebSocket.

Ein mit einem Server verbundener WebSocket-Tab: der gesendete Frame rechtsbündig, die empfangenen Frames linksbündig

FeldRolle
URLws:// oder wss://
NachrichtDie zu sendende Payload
HeaderDie Header der Öffnungsanfrage (Handshake)

Die Aktionsschaltfläche öffnet die Verbindung; der Antwortbereich zeigt die Frames laufend, in Reihenfolge und mit Zeitstempel an. Dieselbe Schaltfläche schließt die Verbindung wieder.

Drei Aktionen, die zusammen verwendet werden:

  • WebSocket-Verbindung – öffnet die Verbindung und gibt ihr einen Namen. Sie hat zwei Ausgänge: connected (Signal, einmalig) und message (eine Ausgabe pro empfangenem Frame);
  • WebSocket-Sendung – sendet eine Payload über die benannte Verbindung;
  • WebSocket-Verbindung schließen – schließt sie.

Diese Aufteilung erlaubt es, „ich verbinde mich, sende einen Befehl per HTTP und prüfe dann, ob die WebSocket-Benachrichtigung ankommt“ in einem einzigen Graphen abzubilden. Siehe Verbindungen und Streams.

Restorm kann einen WebSocket-Server bereitstellen. Er teilt sich seinen Socket mit den anderen Servern desselben Ports: Ein HTTP-Mock-Server und ein WebSocket-Server können gemeinsam auf :8080 lauschen – gewöhnliche Anfragen gehen an die HTTP-Routen, die Umschaltanfragen (upgrade) an den WebSocket-Server. Siehe WebSocket, Socket.IO und MQTT simulieren.

Fünfzehn Ziele, gemeinsam mit Socket.IO und MQTT genutzt: Browser-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).