Pular para o conteúdo

WebSocket

Clique com o botão direito na árvore ▸ Adicionar ▸ Pedido WebSocket.

O tipo WebSocket do Restorm abrange três protocolos próximos, selecionados por um campo Protocolo: websocket (em bruto), socketio e mqtt. Esta página trata do WebSocket em bruto.

Um separador WebSocket ligado a um servidor: a trama enviada alinhada à direita, as tramas recebidas alinhadas à esquerda

CampoFunção
URLws:// ou wss://
MensagemO payload a enviar
CabeçalhosOs cabeçalhos do pedido de abertura (handshake)

O botão de ação abre a ligação; o painel de resposta apresenta as tramas à medida que chegam, pela ordem de receção e com a hora registada. O mesmo botão volta a fechar a ligação.

Três ações, para utilizar em conjunto:

  • Ligação WebSocket — abre a ligação e dá-lhe um nome. Tem duas saídas: connected (sinal, uma única vez) e message (uma emissão por trama recebida);
  • Envio WebSocket — envia um payload pela ligação nomeada;
  • Fecho da ligação WebSocket — volta a fechá-la.

Esta separação é o que permite escrever “ligo-me, envio um comando por HTTP e depois verifico que a notificação WebSocket chega” num único grafo. Consulte Ligações e fluxos.

O Restorm sabe alojar um servidor WebSocket. Este partilha o seu socket com os outros servidores da mesma porta: um servidor de simulação HTTP e um servidor WebSocket podem ficar à escuta em conjunto na porta :8080 — os pedidos correntes vão para as rotas HTTP e os pedidos de mudança de protocolo (upgrade) para o servidor WebSocket. Consulte Simular WebSocket, Socket.IO e MQTT.

Quinze alvos partilhados com o Socket.IO e o MQTT: WebSocket do navegador, 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).