Aller au contenu

Socket.IO

Socket.IO est disponible en choisissant le protocole socketio sur une requête WebSocket.

Contrairement au WebSocket brut, Socket.IO transporte des événements nommés : c’est le nom de l’événement qui distingue un message d’un autre, pas son contenu.

Un onglet Socket.IO : l'URL du serveur, le nom d'événement « pet », la charge JSON à émettre et les en-têtes du handshake

ChampRôle
URLL’URL du serveur Socket.IO
ÉvénementLe nom de l’événement émis
MessageLa charge de l’événement
En-têtesLes en-têtes du handshake

L’action Connexion Socket.IO est la seule dont les sorties sont configurables : vous déclarez la liste des événements qui vous intéressent, et la boîte expose alors un port par événement, plus :

  • connected — un signal émis à l’établissement de la connexion ;
  • others — le port par défaut, qui reçoit tout événement non déclaré.

C’est ce qui permet d’aiguiller proprement : commande:acceptée d’un côté, commande:refusée de l’autre, sans écrire de condition.

Les actions Envoi Socket.IO (avec canal et charge) et Fermeture Socket.IO complètent le cycle de vie. Voir Connexions et flux.

Restorm sait héberger un serveur Socket.IO, qui partage sa socket avec les autres serveurs du même port. Voir Simuler WebSocket, Socket.IO et MQTT.