You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1004 B
35 lines
1004 B
const WebSocket = require('ws');
|
|
const DEBUG = (process.env.NODE_ENV !== "production");
|
|
|
|
const Messenger = {
|
|
messageOne: (ws, message) => {
|
|
DEBUG && console.log(`Sending to only ${ws.id}:`);
|
|
DEBUG && console.log(message);
|
|
|
|
ws.send(JSON.stringify(message));
|
|
},
|
|
|
|
messageOthers: (ws, message) => {
|
|
DEBUG && console.log(`Sending to other client(s):`);
|
|
DEBUG && console.log(message);
|
|
|
|
wss.clients.forEach((client) => {
|
|
if (client !== ws && client.readyState === WebSocket.OPEN) {
|
|
client.send(JSON.stringify(message));
|
|
}
|
|
});
|
|
},
|
|
|
|
messageAll: (message) => {
|
|
DEBUG && console.log(`Sending to all ${wss.clients.size} client(s):`);
|
|
DEBUG && console.log(message);
|
|
|
|
wss.clients.forEach((client) => {
|
|
if (client.readyState === WebSocket.OPEN) {
|
|
client.send(JSON.stringify(message));
|
|
}
|
|
});
|
|
},
|
|
};
|
|
|
|
module.exports = Messenger; |