Cliente de teste WebSocket

Ligue-se a um WebSocket, envie mensagens e veja as mensagens enviadas e recebidas, o estado da ligação, o código de fecho e o motivo indicado pelo servidor.

Introduza um endereço ws:// ou wss:// completo. A ligação é iniciada apenas quando seleciona Ligar.
Introduza um endereço WebSocket para ligar.Fechar código
Envia uma mensagem de texto. Prima Ctrl+Enter ou Command+Enter para enviar.
Registo de mensagens
Enviado 0Recebido 0

Ligue-se e envie uma mensagem para iniciar o registo.

Esta página não envia nem guarda nada no BroBroGo. O endereço e as mensagens seguem diretamente do navegador para o servidor WebSocket que escolher.

Perguntas Frequentes

Que dados WebSocket posso inspecionar aqui?

Pode ver cada mensagem de texto ou binária exposta pelo seu navegador, a sua direção, hora e tamanho, além do código de fecho final, motivo e estado de fecho limpo. As páginas do navegador não podem expor fragmentos de nível de rede ou quadros de controlo Ping e Pong.

Porque é que uma ligação falha mesmo quando o endereço funciona noutro local?

Numa página segura, o browser pode exigir wss://. O servidor também deve aceitar ligações do browser e a origem da página. Este cliente não pode adicionar cabeçalhos de handshake personalizados, ignorar erros de certificado ou substituir as regras de acesso do servidor.

Posso testar com produção ou dados confidenciais?

Utilize dados sintéticos sempre que possível. Remova nomes, detalhes de contas, registos legais, informações financeiras e informações de saúde antes de enviar. As mensagens vão para o servidor que escolher, cujas regras de registo e retenção estão fora do controlo desta página.

O Cliente de teste WebSocket é uma ferramenta concebida para apoiar programadores, engenheiros de integração, profissionais de garantia de qualidade (QA) e equipas de operações (Ops) que necessitam de estabelecer uma ligação manual a um endpoint WebSocket acessível publicamente. A ferramenta permite iniciar uma ligação, enviar mensagens de texto e monitorizar em tempo real o fluxo de dados e os eventos de ciclo de vida da comunicação.

Funcionamento e Fluxo de Trabalho

A ligação a um servidor WebSocket não é automática; o processo inicia-se apenas quando o utilizador seleciona "Conectar". Durante a tentativa de estabelecimento de ligação, a interface apresenta a mensagem "Ligar ao ‹address›…". Se a ligação for bem-sucedida, surge o registo "Ligado a ‹address›.".

Caso o servidor de destino não responda atempadamente e não abra a ligação dentro de 10 segundos, a ferramenta interrompe a tentativa e exibe o aviso "O servidor não abriu a ligação em 10 segundos". Se ocorrer uma falha imediata ou estrutural no processo de ligação, é apresentada a mensagem "A ligação falhou. Verifique o endereço, o certificado, a disponibilidade do servidor e as regras de acesso ao browser".

Uma vez estabelecida a ligação, o utilizador pode redigir e enviar mensagens de texto individualmente. O envio é processado ao clicar no botão correspondente ou através do atalho de teclado Ctrl+Enter ou Command+Enter. Se o utilizador tentar enviar uma mensagem sem que exista uma ligação ativa, a ferramenta impede a ação e mostra o alerta "Ligue-se antes de enviar uma mensagem".

Protocolos e Segurança: ws:// vs wss://

O protocolo WebSocket opera sobre duas variantes distintas que determinam o nível de segurança da transmissão de dados:

  • ws:// (WebSocket): Uma ligação de texto simples, não encriptada, comparável ao protocolo HTTP. É vulnerável à interceptação de dados na rede.
  • wss:// (WebSocket Secure): Uma ligação que corre sobre TLS (Transport Layer Security), equivalente ao HTTPS. Encripta o canal de comunicação, protegendo a integridade e a confidencialidade dos dados transmitidos.

A ferramenta suporta exclusivamente estes dois esquemas. Se for introduzido um endereço com um protocolo diferente, o sistema exibe a mensagem "Utilize um endereço ws:// ou wss://". Adicionalmente, o endereço introduzido deve ser completo e válido; caso contrário, surge o aviso "Introduza um endereço WebSocket completo, como wss://example.com/socket".

Limitações Técnicas do Navegador

Por ser executado diretamente no navegador web do utilizador, este cliente de teste está sujeito às capacidades e restrições da API WebSocket nativa dos browsers. Estas limitações técnicas incluem:

  • Cabeçalhos de Handshake: A ferramenta não consegue adicionar cabeçalhos HTTP personalizados para o processo de handshake inicial.
  • Erros de Certificado: Não é possível contornar ou ignorar erros de certificados SSL/TLS inválidos ou autoassinados através da ferramenta.
  • Regras de Acesso: O cliente não consegue substituir as regras de segurança do próprio servidor ou as políticas de segurança do navegador (como restrições de origem cruzada - CORS).
  • Quadros de Controlo: A API do navegador não expõe fragmentos de dados ao nível da rede, nem permite visualizar ou enviar tramas de controlo do tipo Ping e Pong.

Gestão de Mensagens e Limites de Dados

Para garantir a estabilidade e a capacidade de resposta da página durante testes intensivos, aplicam-se regras estritas de validação e truncagem de dados:

  • Comprimento do Endereço: O campo do endereço WebSocket suporta um limite máximo de 2 048 caracteres. Se este valor for excedido, é exibido o erro "Este endereço é excepcionalmente longo. Mantenha-o com caracteres 2,048".
  • Tamanho da Mensagem: Cada mensagem de texto enviada pode conter até 100 000 caracteres. Se ultrapassar este limite, surge o aviso "Esta mensagem é extraordinariamente grande. Mantenha-o com caracteres 100,000".
  • Capacidade do Registo: O histórico de mensagens retém um máximo de 500 entradas. Quando este limite é ultrapassado, as mensagens mais antigas são descartadas, exibindo-se a indicação "As entradas de registo mais antigas do ‹count› foram removidas para manter esta página responsiva".
  • Visualização de Conteúdo: Cada entrada individual no registo exibe no máximo 20 000 caracteres. Mensagens que excedam este tamanho são truncadas na interface com o aviso "‹count› mais caracteres estão ocultos nesta vista".

A ferramenta distingue mensagens de texto de mensagens binárias. As mensagens binárias recebidas são identificadas no registo como "Mensagem binária", acompanhadas pelo respetivo tamanho em bytes (por exemplo, "bytes"). A ação de limpar o registo de mensagens apenas remove os dados visíveis no ecrã; não encerra a ligação ativa nem reinicia os contadores de mensagens enviadas e recebidas.

Ciclo de Vida e Códigos de Fecho

Quando uma ligação WebSocket é encerrada, o protocolo prevê a transmissão de um código numérico de fecho e, opcionalmente, uma justificação textual. O registo exibe o evento no formato "Fechado com o código ‹code› (‹clean›). Motivo: ‹reason›".

O estado de fecho é classificado como "limpar" (quando o handshake de fecho foi concluído corretamente por ambas as partes) ou "não limpo" (se a ligação caiu abruptamente ao nível da rede). Se o servidor não enviar uma justificação para o encerramento, a ferramenta apresenta a mensagem padrão "Nenhuma razão apresentada".

Privacidade e Processamento de Dados

O processamento de todas as operações ocorre localmente, no próprio navegador do utilizador. Nenhuns dados, endereços ou mensagens são enviados para os servidores do BroBroGo ou guardados por esta página. A comunicação é estabelecida diretamente entre o browser do utilizador e o servidor WebSocket de destino configurado.


Perguntas Frequentes

Que dados WebSocket posso inspecionar aqui?

Pode ver cada mensagem de texto ou binária exposta pelo seu navegador, a sua direção, hora e tamanho, além do código de fecho final, motivo e estado de fecho limpo. As páginas do navegador não podem expor fragmentos de nível de rede ou quadros de controlo Ping e Pong.

Porque é que uma ligação falha mesmo quando o endereço funciona noutro local?

Numa página segura, o browser pode exigir wss://. O servidor também deve aceitar ligações do browser e a origem da página. Este cliente não pode adicionar cabeçalhos de handshake personalizados, ignorar erros de certificado ou substituir as regras de acesso do servidor.

Posso testar com produção ou dados confidenciais?

Utilize dados sintéticos sempre que possível. Remova nomes, detalhes de contas, registos legais, informações financeiras e informações de saúde antes de enviar. As mensagens vão para o servidor que escolher, cujas regras de registo e retenção estão fora do controlo desta página.

O que acontece se eu limpar o registo de mensagens?

A limpeza do registo apenas apaga as mensagens e eventos atualmente visíveis no ecrã. Esta ação não desliga a ligação ativa ao servidor nem reinicia os contadores acumulados de mensagens enviadas e recebidas.