Pular para o conteúdo

Socket.IO

O Socket.IO está disponível escolhendo o protocolo socketio num pedido WebSocket.

Ao contrário do WebSocket em bruto, o Socket.IO transporta eventos nomeados: é o nome do evento que distingue uma mensagem de outra, e não o seu conteúdo.

Um separador Socket.IO: o URL do servidor, o nome de evento “pet”, o payload JSON a emitir e os cabeçalhos do handshake

CampoFunção
URLO URL do servidor Socket.IO
EventoO nome do evento emitido
MensagemO payload do evento
CabeçalhosOs cabeçalhos do handshake

A ação Ligação Socket.IO é a única cujas saídas são configuráveis: declara a lista dos eventos que lhe interessam e a caixa passa a expor uma porta por evento, mais:

  • connected — um sinal emitido quando a ligação é estabelecida;
  • others — a porta predefinida, que recebe todos os eventos não declarados.

É isto que permite encaminhar as coisas com clareza: commande:acceptée para um lado, commande:refusée para o outro, sem escrever qualquer condição.

As ações Envio Socket.IO (com canal e payload) e Fecho da ligação Socket.IO completam o ciclo de vida. Consulte Ligações e fluxos.

O Restorm sabe alojar um servidor Socket.IO, que partilha o seu socket com os outros servidores da mesma porta. Consulte Simular WebSocket, Socket.IO e MQTT.