WebSockets é uma tecnologia avançada que torna possível abrir uma sessão de comunicação interativa entre o navegador do usuário e um servidor. Com esta API, você pode enviar mensagens para um servidor e receber respostas orientadas a eventos sem ter que consultar o servidor para obter uma resposta.

No capítulo 38 de nosso curso e-book, vamos explorar como trabalhar com WebSockets em NodeJS. Antes de começarmos, é importante ter uma compreensão sólida do que são WebSockets e por que eles são úteis.

O que são WebSockets?

WebSockets é uma tecnologia que permite a comunicação bidirecional entre um cliente e um servidor. Isso significa que tanto o cliente quanto o servidor podem iniciar a comunicação, diferentemente do protocolo HTTP padrão, onde apenas o cliente pode iniciar a comunicação.

WebSockets são úteis em aplicações que requerem comunicação em tempo real, como jogos online, chat ao vivo, entre outros. Eles permitem que as mensagens sejam enviadas e recebidas sem a necessidade de fazer uma solicitação HTTP completa, o que pode ser ineficiente para tais aplicações.

Trabalhando com WebSockets em NodeJS

Para trabalhar com WebSockets em NodeJS, precisamos instalar um módulo chamado 'ws'. Você pode instalá-lo usando o npm (Node Package Manager) com o seguinte comando:

npm install ws

Depois de instalado, podemos importá-lo em nosso arquivo e começar a usá-lo. Aqui está um exemplo básico de como criar um servidor WebSocket:

const WebSocket = require('ws');

const server = new WebSocket.Server({ port: 8080 });

server.on('connection', ws => {
  ws.on('message', message => {
    console.log(`Received: ${message}`);
  });

  ws.send('Hello! I am a WebSocket server!');
});

Neste exemplo, criamos um novo servidor WebSocket na porta 8080. Quando um cliente se conecta ao servidor, ele envia uma mensagem de saudação. Além disso, sempre que o servidor recebe uma mensagem do cliente, ele a imprime no console.

Comunicando-se com o cliente

Para se comunicar com o cliente, podemos usar os métodos 'send' e 'on'. O método 'send' é usado para enviar uma mensagem para o cliente, enquanto o método 'on' é usado para lidar com eventos, como receber uma mensagem do cliente.

Aqui está um exemplo de como usar esses métodos:

ws.on('message', message => {
  console.log(`Received: ${message}`);

  ws.send(`Hello! You sent me: ${message}`);
});

Neste exemplo, sempre que recebemos uma mensagem do cliente, enviamos uma resposta de volta, ecoando a mensagem que recebemos.

Conclusão

WebSockets são uma tecnologia poderosa que permite a comunicação em tempo real entre um cliente e um servidor. Eles são especialmente úteis em aplicações que requerem atualizações em tempo real, como jogos online e chats ao vivo.

Em NodeJS, podemos trabalhar com WebSockets usando o módulo 'ws'. Este módulo nos permite criar servidores WebSocket, enviar e receber mensagens, e lidar com eventos.

Esperamos que este capítulo tenha lhe dado uma boa introdução ao trabalho com WebSockets em NodeJS. No próximo capítulo, vamos explorar como trabalhar com bancos de dados em NodeJS.

Agora responda o exercício sobre o conteúdo:

O que é a tecnologia WebSockets e como ela é usada em NodeJS?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Introdução a GraphQL

Próxima página do Ebook Gratuito:

140Introdução a GraphQL

3 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto