Files
smsgw-tester/websocketTest.js
PhatPhuckDave 4a5aa484ba Update
2024-07-22 19:52:53 +02:00

61 lines
1.4 KiB
JavaScript

const WebSocket = require('ws');
const WS_SERVER_PORT = process.env.WS_SERVER_PORT || 8191;
class Metrics {
static interestingMetrics = [
'submit_sm',
'deliver_sm'
];
metrics = {};
constructor() {
}
processPdu(pdu) {
if (Metrics.interestingMetrics.indexOf(pdu.command) !== -1) {
let timestamp = Math.floor(new Date().getTime() / 1000);
if (!!!this.metrics[timestamp]) {
this.metrics[timestamp] = {};
}
if (!!!this.metrics[timestamp][pdu.command]) {
this.metrics[timestamp][pdu.command] = 0;
}
this.metrics[timestamp][pdu.command] += 1;
}
}
}
let clientMetrics = new Metrics();
let centerMetrics = new Metrics();
const ws = new WebSocket(`ws://localhost:${WS_SERVER_PORT}`);
ws.on('open', () => {
console.log('WebSocket connection established');
ws.send("client:0");
});
ws.on('message', (data) => {
data = JSON.parse(data);
console.log(data);
});
const ws2 = new WebSocket(`ws://localhost:${WS_SERVER_PORT}`);
ws2.on('open', () => {
console.log('WebSocket connection established');
ws2.send("center:0");
});
ws2.on('message', (data) => {
data = JSON.parse(data);
console.log(data);
// if (data.type === 'pdu') {
// centerMetrics.processPdu(data.value);
// }
});
// setInterval(() => {
// console.log(clientMetrics.metrics);
// // console.log(centerMetrics.metrics);
// console.log("");
// }, 500);