Merge pull request #5 from excalidraw/emit_client_disconnection

emit event with disconnected client id
This commit is contained in:
Edwin Lin 2020-03-12 12:18:36 -07:00 committed by GitHub
commit e263722dde
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -35,8 +35,8 @@ io.on("connection", socket => {
socket.broadcast.to(roomID).emit("new-user", socket.id);
}
io.in(roomID).emit(
"room-user-count",
io.sockets.adapter.rooms[roomID].length
"room-user-change",
Object.keys(io.sockets.adapter.rooms[roomID].sockets)
);
});
@ -48,9 +48,11 @@ io.on("connection", socket => {
socket.on("disconnecting", () => {
const rooms = io.sockets.adapter.rooms;
for (const roomID in socket.rooms) {
const remaining = rooms[roomID].length - 1;
if (remaining > 0) {
socket.broadcast.to(roomID).emit("room-user-count", remaining);
const clients = Object.keys(rooms[roomID].sockets).filter(
id => id !== socket.id
);
if (clients.length > 0) {
socket.broadcast.to(roomID).emit("room-user-change", clients);
}
}
});