O que é um WebSocket e como ele funciona
Escrito por Alchemy
WebSocket é um protocolo de comunicação bidirecional baseado em TCP que padroniza a comunicação entre um cliente e um servidor, permitindo que ambas as partes solicitem dados uma da outra. Em contraste, um protocolo unidirecional como HTTP só permite que o cliente solicite dados do servidor.
Uma conexão WebSocket entre um cliente e um servidor pode permanecer aberta enquanto as partes desejarem manter a conexão, permitindo comunicação contínua.
Com HTTP, cada conexão começa quando o cliente faz uma solicitação e termina quando a solicitação é atendida.
WebSockets podem ser superiores para notificações de dApps Web3 porque possibilitam notificações em tempo real para eventos críticos de forma contínua, em comparação com a exigência de solicitações individuais. Ferramentas como Alchemy Notify tornam simples adicionar notificações em tempo real a wallets e apps.
O que é WebSocket?
WebSocket é um protocolo de comunicação bidirecional que permite sessões de comunicação interativa entre um cliente e um servidor. É baseado em TCP e é frequentemente usado por apps e serviços que desejam capacidades de notificação em tempo real.
O que é um servidor WebSocket?
Um servidor WebSocket é uma aplicação que está ouvindo em uma porta TCP, seguindo um protocolo específico. WebSocket é um protocolo de comunicação bidirecional entre um cliente e um servidor, permitindo que ambos solicitem e enviem dados um ao outro.
Em contraste, HTTP é um protocolo de comunicação unidirecional, no qual o cliente só pode enviar solicitações ao servidor e o servidor só pode enviar dados de volta em resposta—nunca o servidor, em uma relação HTTP, solicita algo do cliente.
O que é uma conexão WebSocket?
Uma conexão WebSocket é uma conexão contínua entre o cliente e o servidor. Em contraste, as conexões HTTP são únicas. A conexão começa a cada solicitação que o cliente faz ao servidor e termina com a resposta do servidor. Conexões WebSocket podem ser mantidas pelo tempo que o cliente e o servidor desejarem que fiquem abertas, o que significa que os dados podem fluir por esse WebSocket enquanto as partes desejarem—tudo a partir de uma solicitação inicial.
Qual protocolo o WebSocket usa?
WebSocket usa o protocolo WS, que é baseado no Transmission Control Protocol (TCP). É uma rede orientada a conexão, o que significa que uma conexão entre os participantes precisa ser estabelecida primeiro para rotear os dados até o local correto.
Em contraste, o Internet Protocol determina para onde os dados são enviados com base nas informações contidas naquele pacote de dados; nenhuma configuração prévia é necessária para rotear o pacote.
O que é uma API WebSocket?
Há duas formas de um servidor enviar dados a um cliente. O cliente pode solicitar dados regularmente ao servidor, conhecido como polling, ou o servidor pode enviar dados automaticamente ao cliente, conhecido como server push.
APIs WebSocket aproveitam a conexão entre o cliente e o servidor mantendo-a aberta após a solicitação inicial para usar a técnica de server push, eliminando o estresse de infraestrutura criado por clientes constantemente fazendo polling no servidor em busca de novas atualizações.
Como os WebSockets funcionam?
WebSockets são um método de comunicação bidirecional, permitindo múltiplas respostas a partir de uma única solicitação ao servidor. WebSockets também são usados principalmente para comunicação cliente-servidor, enquanto webhooks são usados principalmente para comunicação servidor-servidor.
Como os WebSockets funcionam de forma diferente em comparação com webhooks?
Em contraste com WebSockets, webhooks, que usam HTTP, são estritamente unidirecionais: o servidor só responde às aplicações quando uma solicitação é feita, e sempre que uma solicitação é atendida, a conexão é encerrada.
Alchemy Notify usa webhooks para se comunicar entre servidores e WebSockets para enviar as notificações que o usuário do dApp vê.
Para que são usados os WebSockets do Web3?
A Subscription API da Alchemy fornece dois novos métodos de API que estendem a funcionalidade da API original do Ethereum - eth_subscribe e eth_unsubscribe - que permitem que desenvolvedores Web3 usem WebSockets para receber continuamente informações ou dados, como informações de transações pendentes, hashes de transações pendentes, novos blocos de cabeçalho e logs.
Aqui estão os métodos suportados pela Subscription API da Alchemy que usam WebSockets:
- alchemy_newFullPendingTransactions - retorna as informações completas da transação (não apenas os hashes de transação) para todas as transações que são adicionadas ao estado pendente
- alchemy_filteredNewFullPendingTransactions - retorna as informações da transação para todas as transações pendentes que correspondem a um filtro de endereço de origem ou destino
- newPendingTransactions - retorna o hash de todas as transações que são adicionadas ao estado pendente, independentemente de você tê-las enviado ou não
- newHeads - envia um evento sempre que um novo cabeçalho (bloco) é adicionado à blockchain
- logs - envia logs que fazem parte de blocos recém-adicionados que correspondem a critérios de filtro especificados
Quando alguma conexão WebSocket existente precisa ser encerrada, a chamada eth_unsubscribe pode ser usada junto com o parâmetro de ID de subscription.
Quando usar WebSockets vs webhooks
O trade-off entre usar WebSockets ou webhooks vem de saber se o design da sua infraestrutura consegue lidar melhor com muitas conexões WebSocket abertas simultaneamente ou com muitas solicitações de conexão webhook vindas de clientes.
Se a sua aplicação de servidor roda como uma função em nuvem (AWS Lambda, Google Cloud Functions, etc), use webhooks, porque a aplicação não manterá as conexões WebSocket abertas.
Se a quantidade de notificações enviadas for baixa, webhooks também são superiores, pois as conexões só começam sob a condição de um evento acontecer.
Se o evento for raro, é melhor usar webhooks do que manter abertas muitas conexões WebSocket entre o cliente e o servidor.
Por fim, também importa se você está tentando conectar um servidor a outro servidor ou um cliente a um servidor; webhooks são melhores para o primeiro caso, WebSockets para o segundo. Criamos um repositório no Github para configurar um servidor de webhook.
Quando usar o protocolo WebSocket
Para muitos apps Web3, é obrigatório atualizar seus usuários em tempo real sobre o status de suas transações. Caso contrário, eles podem ter uma experiência de usuário ruim e abandonar seu app ou serviço. Alchemy Notify resolve isso permitindo que os usuários saibam o status exato de suas transações.
Quando usar WebSockets em vez de HTTP
WebSockets devem ser usados em vez de solicitações HTTP sempre que a latência precisar ser a menor possível, para que os usuários recebam notificações sobre eventos assim que eles acontecem. HTTP é comparativamente muito mais lento porque o cliente é limitado na frequência com que pode receber atualizações pela frequência com que envia solicitações.
Exemplos de WebSocket
Criamos guias sobre como implementar o Alchemy Notify para enviar notificações no app, atualizando seus usuários sobre eventos críticos, como quando o saldo de sua wallet muda. Aqui estão alguns tutoriais que publicamos:
- Rastreando transações Ethereum pendentes e mineradas
- Construindo um dApp com notificações de transação em tempo real
- Integrando webhooks da Alchemy com o Zapier
Alchemy Notify pode até ser usado para enviar notificações por e-mail aos usuários do seu dApp, evitando frustração quanto ao status de suas transações.
Visões gerais relacionadas
Técnico19 de maio de 2026
Webhooks vs. WebSockets vs. gRPC
Três protocolos dominam a entrega de dados em tempo real. Veja como webhooks, WebSockets e gRPC se diferenciam, quando cada um falha e como escolher entre eles.
Técnico20 de junho de 2022
O que é um webhook?
Como configurar e usar webhooks para notificações Web3 em tempo real
Carteiras2 de setembro de 2026
Agent wallets: o modelo de sessão e permissões para agentes de IA
Como agentes de IA obtêm acesso a wallets com escopo definido e revogável, sem manter chaves privadas: sessions, delegated signing e revogação instantânea.

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.