WebSocket: conexões web persistentes e bidirecionais
O WebSocket cria uma conexão bidirecional de longa duração depois de um handshake de abertura baseado em HTTP. Ele é indicado para chat, notificações e dados em tempo real, mas proxies, balanceadores de carga e timeouts da rede ainda podem encerrar a sessão.
Como funciona uma conexão WebSocket persistente
O WebSocket estabelece um canal de aplicação bidirecional e persistente depois de um handshake de abertura baseado em HTTP. O esquema seguro wss protege a conexão com TLS; mesmo assim, intermediários e timeouts de inatividade podem encerrar sessões longas.
Como diagnosticar uma desconexão
Verifique a resposta HTTP de abertura e confirme se o upgrade da conexão foi bem-sucedido; depois, observe se ela se fecha após um período de inatividade que se repete. Proxies reversos, balanceadores de carga e firewalls costumam ter timeouts que afetam sessões WebSocket longas. Se antes você precisar isolar a alcançabilidade TCP básica, teste a porta com a verificação de portas abertas da 2IP.
Onde procurar o timeout de inatividade
Referência técnica: RFC 6455.