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
Solana30 de setembro de 2026
As 14 melhores carteiras Solana (2026)
Compare as 14 principais carteiras Solana de 2026. Armazenamento seguro de SOL para DeFi, NFTs e staking. Hardware, mobile e navegador.

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