From f93e205736169a268949ec47371ef405c587825d Mon Sep 17 00:00:00 2001 From: katsukichi Date: Tue, 8 Jun 2021 00:47:32 +0900 Subject: [PATCH] Fix leave room event implement --- controllers/workspace/socketWebRTC.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/controllers/workspace/socketWebRTC.ts b/controllers/workspace/socketWebRTC.ts index 73b3d94..cc064fe 100644 --- a/controllers/workspace/socketWebRTC.ts +++ b/controllers/workspace/socketWebRTC.ts @@ -24,6 +24,21 @@ const socketWebRTC = async (socket: Socket) => { socket.emit('all users', usersInThisRoom); }); + socket.on('leave room', roomID => { + console.log('리브!!!', roomID); + + for (let i = 0; i < users[roomID].length; i++) { + if (users[roomID][i] === socket.id) { + users[roomID].splice(i, 1); + i--; + } + } + + delete socketToRoom[socket.id]; + const usersInThisRoom = users[roomID].filter((id: string) => id !== socket.id); + + socket.emit('all users', usersInThisRoom); + }); socket.on('sending signal', payload => { socket.to(payload.userToSignal).emit('user joined', { signal: payload.signal, callerID: payload.callerID });