Como o WebSocket Funciona - Entendendo a Comunicacao Bidirecional em Tempo Real

10 min leitura | 2025.12.13

O que e WebSocket

WebSocket e um protocolo que permite comunicacao bidirecional em tempo real entre cliente e servidor. E usado em aplicacoes que exigem resposta imediata, como aplicativos de chat, jogos online e exibicao de cotacoes de acoes.

URLs WebSocket: Sao usados ws:// (nao criptografado) e wss:// (criptografado com TLS).

Diferencas entre HTTP e WebSocket

CaracteristicaHTTPWebSocket
Direcao da comunicacaoCliente → ServidorBidirecional
ConexaoConecta/desconecta a cada requisicaoPersistente
Push do servidorImpossivelPossivel
OverheadEnvia cabecalhos HTTP toda vezApenas na primeira vez
Tempo realBaixoAlto

Handshake do WebSocket

# Requisicao do cliente
GET /chat HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==

# Resposta do servidor
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade

Exemplo de Implementacao JavaScript

const socket = new WebSocket('wss://example.com/chat');

socket.addEventListener('open', (event) => {
    console.log('Conexao bem-sucedida');
    socket.send('Hello Server!');
});

socket.addEventListener('message', (event) => {
    console.log('Recebido:', event.data);
});

Socket.IO

Socket.IO e uma biblioteca de alta funcionalidade baseada em WebSocket.

  • Fallback: Usa HTTP long polling quando WebSocket nao esta disponivel
  • Reconexao automatica: Reconecta automaticamente quando desconectado
  • Funcao de Room: Agrupa clientes

Resumo

WebSocket e um protocolo poderoso que permite comunicacao bidirecional em tempo real. E importante entender as diferencas de caracteristicas em relacao ao HTTP e selecionar e implementar adequadamente de acordo com os requisitos da aplicacao.

← Voltar para a lista