Minor fixes regarding websockets

This commit is contained in:
David Majdandžić
2023-03-25 14:47:54 +01:00
parent 135a89f87f
commit ba8bca95a8
2 changed files with 14 additions and 10 deletions

1
.gitignore vendored
View File

@@ -2,3 +2,4 @@
node_modules node_modules
package-lock.json package-lock.json
sessions.json sessions.json
client_sessions.json

View File

@@ -1024,6 +1024,9 @@ class WSServer {
delete this.clients[sessionId][index]; delete this.clients[sessionId][index];
} }
this.clients[sessionId] = this.clients[sessionId].filter(Boolean); this.clients[sessionId] = this.clients[sessionId].filter(Boolean);
if (this.clients[sessionId].length === 0) {
delete this.clients[sessionId];
}
} }
} }
@@ -1044,14 +1047,14 @@ class WSServer {
} }
pduEvent(sessionId, pdu) { pduEvent(sessionId, pdu) {
let clients = this.clients[sessionId];
if (!!clients) {
this.logger.log2(`Session with ID ${sessionId} fired PDU`); this.logger.log2(`Session with ID ${sessionId} fired PDU`);
let payload = { let payload = {
type: 'pdu', type: 'pdu',
sessionId: sessionId, sessionId: sessionId,
value: pdu value: pdu
} }
let clients = this.clients[sessionId];
if (!!clients) {
this.logger.log2(`Broadcasting session with ID ${sessionId} to ${clients.length} clients`); this.logger.log2(`Broadcasting session with ID ${sessionId} to ${clients.length} clients`);
clients.forEach(client => { clients.forEach(client => {
client.send(JSON.stringify(payload)); client.send(JSON.stringify(payload));