Instruções de Uso
Guia completo para testar conexões WebSocket, usar templates, auto-respostas e todas as funcionalidades disponíveis.
Guia Rápido
1. Conectar pelo Navegador
- Acesse a página principal
- Clique em "Conectar"
- Aguarde a mensagem de boas-vindas
- Monitore conexões e mensagens na sidebar
2. Conectar Ferramenta Externa
- Use Postman, wscat ou outro cliente
- Conecte em
ws://localhost:3001 - Envie qualquer JSON ou texto puro
- Monitore pelo navegador em tempo real
Formatos de Mensagem Aceitos
Flexível: O servidor aceita qualquer formato — JSON estruturado, JSON livre ou texto puro. Tudo será repassado para os clientes web conectados no mesmo IP.
Formato estruturado (opcional)
{
"type": "message",
"clientId": "SEU_CLIENT_ID",
"data": "conteúdo_da_mensagem"
}JSON livre (qualquer estrutura)
{"cmd": "ping", "data": "oi"}
{"action": "login", "user": "teste", "active": true}
{"sensor": "temp", "value": 23.5}Texto puro (não-JSON)
msg:teste;cmd:start
HELLO WORLD
qualquer texto aquiTestando com Postman
Configuração da Conexão
ws://localhost:3001Exemplos de Envio
1. JSON simples
{"cmd": "ping", "data": "oi"}2. Objeto complexo
{
"usuario": "João",
"acao": "login",
"ativo": true,
"nivel": 5
}3. Texto puro
msg:hello;status:okTestando com wscat (Terminal)
Para conexões WebSocket via linha de comando, use o wscat:
Instalação do wscat
npm install -g wscatExemplo de uso
# 1. Conectar ao servidor
wscat -c ws://localhost:3001
# 2. Você receberá seu Client ID:
< {"type":"connected","clientId":"abc123..."}
# 3. Enviar qualquer JSON:
> {"cmd":"ping","data":"hello"}
# 4. Ou texto puro:
> msg:hello;status:okTemplates de Mensagem
Crie templates reutilizáveis com variáveis dinâmicas usando a sintaxe $variavel. Templates podem ser JSON ou texto puro.
Exemplo JSON
{"cmd": $tipo, "ativo": $flag, "nome": "$nome"}"$nome" → sempre string
$tipo sem aspas → auto-detecta tipo:
42→ númerotrue/false→ booleannull→ nulltexto→ string com aspas
Exemplo Texto Puro
msg:$mensagem;cmd:$comandoEm templates de texto, variáveis são substituídas diretamente sem aspas. Ex: com $mensagem=oi e $comando=start → msg:oi;cmd:start
Auto-Respostas
Configure respostas automáticas para mensagens recebidas de clientes externos. Dois modos de correspondência disponíveis:
Match Exato (JSON)
Todos os campos do trigger devem existir na mensagem com os mesmos valores.
Trigger: {"cmd": "ping"}
Match: {"cmd": "ping", "extra": 1} ✓
Falha: {"cmd": "pong"} ✗Match por Campo/Valor
Verifica se um campo específico tem o valor esperado.
Campo: "cmd" Valor: "ping"
Match: {"cmd": "ping", ...} ✓Dica: Se o cliente que enviou a mensagem estiver identificado, a auto-resposta é enviada diretamente a ele como respond_to_client. As regras podem ser ativadas/desativadas individualmente.
Recursos Avançados
Isolamento por IP
- • Cada IP vê apenas suas próprias conexões
- • Mensagens são isoladas por IP de origem
- • Perfeito para testes em equipe
- • Sem interferência entre usuários
Rate Limiting
- • Máximo 30 mensagens por minuto por IP
- • Proteção contra spam e sobrecarga
- • Fila de espera quando necessário
- • Limites configuráveis por ambiente
Limite de Clientes
- • Máximo de 4 clientes externos exibidos na sidebar
- • Clientes adicionais ficam conectados mas não aparecem na lista
- • Selecione um cliente para ver detalhes e enviar respostas
Interface com Abas
- • Mensagens — envio manual e customizado
- • Logs — histórico em tempo real
- • Templates — mensagens reutilizáveis com variáveis
- • Auto-Respostas — respostas automáticas configuráveis
Formatos de Resposta do Servidor
| Tipo | Quando Recebe | Conteúdo |
|---|---|---|
| connected | Ao conectar (clientes externos) | Seu clientId |
| welcome | Ao conectar (clientes web) | clientId + estatísticas |
| client_message | Mensagem de outro cliente | from, fromType, data |
| server_response | Resposta da interface web | Dados enviados pela interface |
| response_sent | Confirmação de envio direto | toClientId, data |
| error | Erro de rate limit ou outro | Descrição do erro |
| queued | Servidor lotado | Posição na fila + tempo estimado |
Solução de Problemas
Não consegue conectar?
- Verifique se o servidor WebSocket está rodando
- Confirme que não há firewall bloqueando a conexão
- Use
ws://para desenvolvimento local ewss://para produção com SSL - Endereço do servidor:
ws://localhost:3001
Mensagens não aparecem no monitoramento?
- Certifique-se de que o navegador está conectado na página principal
- Clientes devem estar no mesmo IP para verem as mensagens
- Respeite o rate limit de 30 mensagens/minuto
Auto-respostas não disparam?
- Verifique se a regra está ativada (toggle ligado)
- Para match exato: os campos do trigger devem existir na mensagem
- Para match por campo: o campo e valor devem corresponder exatamente
- A verificação é feita sobre o campo
dataparaclient_message