forked from Harborn-digital/cookie-consent-bundle
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build-server.mjs
30 lines (23 loc) · 883 Bytes
/
build-server.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import {WebSocketServer} from 'ws';
const server = new WebSocketServer({
port: 8999
});
let sockets = [];
server.on('connection', function (socket) {
sockets.push(socket);
console.log('Connected socket count:', sockets.length);
// When you receive a message, send that message to every socket.
socket.on('message', function (msg) {
console.log('Message from client:', msg.toString());
if (msg.toString() === 'reload') {
console.log('Triggering browser clients to reload');
sockets.forEach(s => s.send('reload-browser'));
}
});
// When a socket closes, or disconnects, remove it from the array.
socket.on('close', function () {
sockets = sockets.filter(s => s !== socket);
console.log('Remaining socket count:', sockets.length);
});
});
console.log('Websocket Server started');