29 lines
733 B
JavaScript
29 lines
733 B
JavaScript
/*
|
|
* broadcast-server.js
|
|
* Author: Benjamin Sergeant
|
|
* Copyright (c) 2017-2018 Machine Zone, Inc. All rights reserved.
|
|
*/
|
|
const WebSocket = require('ws');
|
|
|
|
const wss = new WebSocket.Server({ port: 8080, perMessageDeflate: true });
|
|
|
|
// Broadcast to all.
|
|
wss.broadcast = function broadcast(data) {
|
|
wss.clients.forEach(function each(client) {
|
|
if (client.readyState === WebSocket.OPEN) {
|
|
client.send(data);
|
|
}
|
|
});
|
|
};
|
|
|
|
wss.on('connection', function connection(ws) {
|
|
ws.on('message', function incoming(data) {
|
|
// Broadcast to everyone else.
|
|
wss.clients.forEach(function each(client) {
|
|
if (client !== ws && client.readyState === WebSocket.OPEN) {
|
|
client.send(data);
|
|
}
|
|
});
|
|
});
|
|
});
|