|
const WebSocket = require('ws'); |
|
const PORT = 7860; |
|
|
|
let visits = 0; |
|
|
|
const wss = new WebSocket.Server({ port: PORT }); |
|
|
|
|
|
function broadcastClientCount() { |
|
const count = wss.clients.size; |
|
const message = JSON.stringify({ online: count, visitor: visits}); |
|
|
|
wss.clients.forEach((client) => { |
|
if (client.readyState === WebSocket.OPEN) { |
|
client.send(message); |
|
} |
|
}); |
|
} |
|
|
|
wss.on('connection', (ws) => { |
|
visits++; |
|
broadcastClientCount(); |
|
|
|
ws.on('close', () => { |
|
broadcastClientCount(); |
|
}); |
|
}); |
|
|
|
console.log(`WebSocket server running on ws://localhost:${PORT}`); |