Skip to main content

Socket | ws

  • Socket | ws

1. Configurar o Servidor (Node.js)

Primeiro, precisamos de um servidor que suporte WebSockets. Usaremos o ws, um módulo WebSocket para Node.js.

a. Instalar o ws

Se você não tiver o Node.js instalado, você pode baixá-lo aqui.

Depois, crie uma nova pasta para o projeto e inicialize um novo projeto Node.js:

mkdir websocket-example
cd websocket-example
npm init -y

Instale o módulo ws:

npm install ws

b. Criar o Servidor WebSocket

Crie um arquivo chamado server.js e adicione o seguinte código:

const WebSocket = require('ws');

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

server.on('connection', socket => {
console.log('Novo cliente conectado!');
//O servidor, ao receber uma mensagem, dispara o evento message. Internamente, a implementação da biblioteca ws sabe que qualquer dado recebido no socket deve ser tratado como uma mensagem.

socket.on('message', message => {
console.log(`Mensagem recebida: ${message}`);
socket.send(`Você disse: ${message}`);
});

socket.on('close', () => {
console.log('Cliente desconectado');
});
});

console.log('Servidor WebSocket está ouvindo na porta 8080');

Este código configura um servidor WebSocket que escuta na porta 8080. Quando um cliente se conecta, o servidor registra a conexão. Quando o servidor recebe uma mensagem, ele a imprime no console e envia uma resposta de volta ao cliente.

2. Configurar o Cliente (Navegador)

import WebSocket from 'ws';

const ws = new WebSocket("ws://localhost:8080");

ws.on("open", () => {
console.log("Connected to server");
ws.send("Hello, server!"); // Método send envia uma mensagem ao servidor
});

ws.on("message", (message: string) => {
console.log(`Received message from server: ${message}`); // Evento message para tratar mensagens recebidas
});

ws.on("close", () => {
console.log("Disconnected from server");
});