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