log disconnects, emit user left events, add perMessageDeflate option

This commit is contained in:
Mihaela Dumitru 2023-01-31 12:27:51 +02:00
parent a8eca277e4
commit 6b61ff4cd7

View file

@ -36,7 +36,8 @@ const io = socketIO(server, {
res.writeHead(200, headers); res.writeHead(200, headers);
res.end(); res.end();
} },
perMessageDeflate: true
}); });
// listens on host:9090/metrics // listens on host:9090/metrics
@ -83,13 +84,20 @@ io.on('connection', socket => {
for (const roomID of Object.keys(socket.rooms)) { for (const roomID of Object.keys(socket.rooms)) {
const clients = Object.keys(rooms[roomID].sockets).filter(id => id !== socket.id); const clients = Object.keys(rooms[roomID].sockets).filter(id => id !== socket.id);
if (roomID !== socket.id) {
socket.to(roomID).emit('user has left', socket.id);
}
if (clients.length > 0) { if (clients.length > 0) {
socket.broadcast.to(roomID).emit('room-user-change', clients); socket.broadcast.to(roomID).emit('room-user-change', clients);
} }
} }
}); });
socket.on('disconnect', () => { socket.on('disconnect', reason => {
serverDebug(
`${socket.id} was disconnected from url ${socket.conn.request.url} for the following reason: ${reason}`
);
socket.removeAllListeners(); socket.removeAllListeners();
}); });
}); });