Guia Rápido: Como Usar WebSockets com Node.js
Aprenda a configurar e utilizar WebSockets para comunicação em tempo real com Node.js e a biblioteca ws.
O que são WebSockets?
WebSockets permitem comunicação bidirecional entre o cliente e o servidor em tempo real, sem a necessidade de requisições HTTP repetitivas.
Configurando o Projeto
Crie um projeto Node.js e instale a biblioteca ws
:
mkdir websocket-demo && cd websocket-demo
npm init -y
npm install ws
Criando o Servidor WebSocket
Crie um arquivo server.js
e adicione:
const WebSocket = require('ws');
const server = new WebSocket.Server({ port: 8080 });
server.on('connection', ws => {
console.log('Novo cliente conectado');
ws.send('Bem-vindo ao servidor WebSocket!');
ws.on('message', message => {
console.log('Mensagem recebida:', message);
ws.send('Você disse: ' + message);
});
});
console.log('Servidor WebSocket rodando em ws://localhost:8080');
Criando o Cliente WebSocket
Crie um arquivo index.html
e adicione:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>WebSocket Cliente</title>
</head>
<body>
<h1>Teste de WebSocket</h1>
<input id="mensagem" type="text" placeholder="Digite uma mensagem">
<button onclick="enviarMensagem()">Enviar</button>
<ul id="mensagens"></ul>
<script>
const socket = new WebSocket('ws://localhost:8080');
const lista = document.getElementById('mensagens');
socket.onmessage = event => {
const li = document.createElement('li');
li.textContent = event.data;
lista.appendChild(li);
};
function enviarMensagem() {
const input = document.getElementById('mensagem');
socket.send(input.value);
input.value = '';
}
</script>
</body>
</html>
Testando a Aplicação
Execute o servidor com:
node server.js
Abra o index.html
no navegador e envie mensagens para testar a comunicação WebSocket.
Próximos Passos
Experimente integrar WebSockets com autenticação e banco de dados para criar aplicações interativas e dinâmicas.