Trabalhando com WebSockets em NodeJS

Capítulo 139

Tempo estimado de leitura: 3 minutos

+ Exercício
Audio Icon

Ouça em áudio

0:00 / 0:00

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:

Continue em nosso aplicativo e ...
  • Ouça o áudio com a tela desligada
  • Ganhe Certificado após a conclusão
  • + de 5000 cursos para você explorar!
ou continue lendo abaixo...
Download App

Baixar o aplicativo

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.

WebSockets permite comunicação bidirecional entre cliente e servidor, essencial para aplicações em tempo real. Em NodeJS, o módulo 'ws' é utilizado para criar servidores WebSocket, permitindo o envio e recebimento de mensagens e o tratamento de eventos.

Próximo capitúlo

Introdução a GraphQL

Arrow Right Icon
Capa do Ebook gratuito Como criar APIs em NodeJS do básico ao avançado
93%

Como criar APIs em NodeJS do básico ao avançado

Novo curso

149 páginas

Baixe o app para ganhar Certificação grátis e ouvir os cursos em background, mesmo com a tela desligada.