DEV Community

Bruno Souza
Bruno Souza

Posted on

Bora falar de WebSockets ?

Saudações, Mentes Tech!

Nos últimos anos estive bastante envolvido com comunicação em tempo real, após ficar obsecado por crypto e negociações automatizadas no financeiro.
Quero contar um pouco do que aprendi neste post e acredito que tenha espaço para mais alguns.

O que é WebSockets

WebSockets são uma tecnologia de comunicação bidirecional e em tempo real, que permite a transferência de dados entre um cliente e um servidor de forma assíncrona.

Ao contrário do HTTP tradicional, que é baseado em requisições e respostas, os WebSockets estabelecem uma conexão persistente entre o cliente (navegador, uma aplicação golang) e o servidor, possibilitando a troca de mensagens em tempo real sem a sobrecarga de requisições repetidas.
Isso torna os WebSockets ideais para aplicações que requerem atualizações instantâneas, como chats, jogos online e transmissões ao vivo.

Agora que você já sabe o que é WebSocket, que tal falarmos da aplicação no mundo real e como ele funciona de forma resumida.
Bora lá?!

Como WebSockets funciona ?

Os WebSockets funcionam através de uma conexão persistente entre um cliente e um servidor.

Nota: este é um processo resumido. ;D

websocket handshake

Handshake inicial: O cliente envia uma requisição HTTP com um cabeçalho específico solicitando uma atualização para o protocolo WebSocket. Se o servidor suporta WebSockets, ele responde com uma confirmação, também contendo cabeçalhos específicos.

Estabelecimento da conexão: Uma vez que o handshake inicial é bem-sucedido, a conexão WebSocket é estabelecida. Isso geralmente é feito através de um upgrade de protocolo, onde a conexão HTTP é atualizada para uma conexão WebSocket.

Comunicação bidirecional: Com a conexão estabelecida, tanto o cliente quanto o servidor podem enviar mensagens um para o outro a qualquer momento, de forma assíncrona. Não é necessário esperar por uma solicitação do cliente para enviar uma resposta do servidor, ou vice-versa.

Encerramento da conexão: Quando a comunicação não é mais necessária, a conexão WebSocket pode ser fechada.
Isso pode ser feito por qualquer uma das partes, enviando uma mensagem de fechamento para a outra parte.

Com a conexão estabelecida, tanto o cliente quanto o servidor podem enviar mensagens um para o outro a qualquer momento, de forma assíncrona.

E não necessita esperar por uma solicitação do cliente para enviar uma resposta do servidor, ou vice-versa.

WebSocket no mundo financeiro

A comunicação em tempo real e baixa latência é essencial no mercado financeiro, o no meu caso de uso serve para obter as melhores ofertas assim que elas são inseridas no livro.

Valeuu e até a próxima.

Top comments (0)