Aller au contenu

WebSocket

Clic droit dans l’arbre ▸ Ajouter ▸ Requête WebSocket.

Le type WebSocket de Restorm couvre trois protocoles proches, sélectionnés par un champ Protocole : websocket (brut), socketio et mqtt. Cette page traite du WebSocket brut.

Un onglet WebSocket connecté à un serveur : la trame envoyée alignée à droite, les trames reçues alignées à gauche

ChampRôle
URLws:// ou wss://
MessageLa charge à envoyer
En-têtesLes en-têtes de la requête d’ouverture (handshake)

Le bouton d’action ouvre la connexion ; le panneau de réponse affiche les trames au fil de l’eau, dans l’ordre, horodatées. Le même bouton referme la connexion.

Trois actions, à utiliser ensemble :

  • Connexion WebSocket — ouvre la connexion et lui donne un nom. Elle a deux sorties : connected (signal, une fois) et message (une émission par trame reçue) ;
  • Envoi WebSocket — envoie une charge sur la connexion nommée ;
  • Fermeture connexion WebSocket — la referme.

Ce découpage est ce qui permet d’écrire « je me connecte, j’envoie une commande par HTTP, puis je vérifie que la notification WebSocket arrive » dans un seul graphe. Voir Connexions et flux.

Restorm sait héberger un serveur WebSocket. Il partage sa socket avec les autres serveurs du même port : un serveur de simulation HTTP et un serveur WebSocket peuvent écouter ensemble sur :8080 — les requêtes ordinaires vont aux routes HTTP, les demandes de bascule (upgrade) au serveur WebSocket. Voir Simuler WebSocket, Socket.IO et MQTT.

Quinze cibles partagées avec Socket.IO et MQTT : WebSocket du navigateur, 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).