mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
37 lines
2.2 KiB
JavaScript
37 lines
2.2 KiB
JavaScript
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'); |