WebSocket na Prática com JavaScript

WebSocket na Prática com JavaScript

Entenda o funcionamento de um WebSocket na Prática com JavaScript e pare de uma vez por todas de fazer loops para buscar atualizações de uma entidade (ou estado), melhorando assim a performance da aplicação.

Mas antes de vermos como funciona um websocket vamos entender o que é um websocket.

O que é WebSocket

O WebSocket é um protocolo que permite que o cliente e o servidor se comuniquem de forma bidirecional.

Ou seja, é uma forma de criar um túnel entre o cliente e o servidor, onde esse túnel tem duas mãos.

Assim é possível que o cliente possa comunicar com o servidor e vice versa.

Agora se você quiser saber mais sobre as especificações do protocolo de websocket eu sugiro a leitura da documentação da IETF.

Porque usar WebSockets

Usar um loop para buscar informações criando um pooling é algo extremamente custoso.

Por permitir que a comunicação seja bidirecional o websocket auxilia muito na performance da aplicação, removendo os poolings.

Além da melhoria na performance o consumo de recursos usando websocket no lugar de grandes poolings é muito menor.

WebSocket na Prática com JavaScript – Exemplo

Para criar um websocket é só usar o construtor, passando a url do websocket e o protocolo utilizado.

var exampleSocket = new WebSocket("wss://www.example.com/socketserver", "protocolOne");

Para enviar uma mensagem é usar o comando send.

exampleSocket.send(JSON.stringify({mensagem: "teste"}));

Mas para receber mensagem é só usar o comando onmessage.

exampleSocket.onmessage = function (event) {
  console.log(event.data);
}

Já para fechar a conexão do socket é só usar o comando close.

exampleSocket.close();

Bom, essa é a base de websockets no JavaScript.

Mas caso queira uma aplicação real, confira esse chat construído pela equipe da Mozilla.

O exemplo conta com a implementação do servidor.

Conta também com a implementação do lado do cliente.

E além disso conta com uma tela simples para iteração.

WebSocket na Prática com JavaScript – Conclusão

Os websockets facilitam e muito a comunicação em tempo real entre o cliente e o servidor, mas como tudo na TI é preciso cuidado.

O gerenciamento de conexões deve ser feito com cuidado, pois ela deve ser encerrada caso o cliente feche o site, ou ocorra uma falha de internet por exemplo.

Caso queira mais dicas confira aqui.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *