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");
});