// SPDX-License-Identifier: GPL-3.0-or-later // Author: Sascha Nitsch https://contentnation.net/@grumpydevelop import { WebSocketServer } from "ws"; class MonitorWS extends WebSocketServer { constructor(options: any) { super(options); const that = this; this.on('connection', (ws: any) => { ws.on('error', this.errorHandler); ws.on('disconnect', this.errorHandler); ws.on('message', function (this: WebSocket, data: Buffer, isBinary: boolean ){ that.message(this, data, isBinary); }); // ... ws.send("Connected"); }); } errorHandler = (a: any,b: any, c:any) => { console.log(a,b,c); } broadcast = (msg: string) => { if (this.clients === undefined) { return; } this.clients.forEach((client) => { if (client.readyState === WebSocket.OPEN) {; client.send(msg); } }) } message = (ws: WebSocket, data: Buffer, isBinary:boolean) => { //const message = data.toString(); //console.log('received monitor: ', message); } } export { MonitorWS }