27 lines
649 B
JavaScript
27 lines
649 B
JavaScript
module.exports = upgradeWebSocketServer;
|
|
|
|
function upgradeWebSocketServer(wss) {
|
|
wss.on("connection", (ws) => {
|
|
upgradeWebSocket(ws);
|
|
});
|
|
wss.sendEvent = function(event, data) {
|
|
wss.clients.forEach((ws) => {
|
|
ws.sendEvent(event, data);
|
|
});
|
|
}
|
|
}
|
|
|
|
function upgradeWebSocket(ws) {
|
|
ws.on("message", (message) => {
|
|
let parsedMessage = null;
|
|
try {
|
|
parsedMessage = JSON.parse(message);
|
|
if ("event" in parsedMessage && "data" in parsedMessage) {
|
|
ws.emit(parsedMessage.event, parsedMessage.data);
|
|
}
|
|
} catch {}
|
|
});
|
|
ws.sendEvent = function(event, data) {
|
|
return ws.send(JSON.stringify({"event" : event, "data" : data}));
|
|
}
|
|
} |