const WebSocket = require('ws'); const server = new WebSocket.Server({ port: 8080 }); server.on('connection', socket => { console.log('Client connected'); // Broadcast a message to all clients when a new client connects server.clients.forEach(client => { if (client.readyState === WebSocket.OPEN) { client.send(JSON.stringify({ type: 'info', payload: 'New client connected' })); } }); // Echo back messages to the client socket.on('message', message => { console.log('Received:', message); const parsedMessage = JSON.parse(message); // Broadcast the message to all connected clients server.clients.forEach(client => { if (client.readyState === WebSocket.OPEN) { client.send(JSON.stringify({ type: parsedMessage.type, payload: parsedMessage.payload })); } }); }); socket.on('close', () => { console.log('Client disconnected'); }); socket.on('error', (error) => { console.error('WebSocket error:', error); }); }); console.log('WebSocket server is running on ws://localhost:8080');