1. setTimeout 삭제 및 redis.del('currentMember${roomNum}') 삭제
프론트에서 인원 체크해서 setTimeout을 사용하기로 해서 서버 쪽의 관련 코드 제거했습니다.
게임방이 진행된 상태로 바뀌면서 삭제하는 redis 내의 키값 중 currentMember${roomNum} 을 삭제하는 줄을 삭제했습니다. 다른 페이지에서도 계속 사용되기 때문에 게임이 완전히 끝난 후에 삭제해야합니다.
if (currentCount === Number(readyCount) && currentCount > 3) {
console.log('게임시작 5초전!');
// 특정 방의 timer identifier 를 저장, 나중에 누군가가 ready 가 취소됬을 때 해당하는 timer id 를 찾아서 멈추기 위해.
console.log('게임 시작 ! ');
// 스파이 랜덤 지정 후 게임 시작 전 emit.
const spyUser = await GameProvider.selectSpy(roomNum);
lobby.sockets.in(`/gameRoom${roomNum}`).emit('spyUser', spyUser);
if (nickname === spyUser) {
socket.isSpy = 1;
}
// 카테고리 및 제시어 랜덤 지정 후 게임 시작과 같이 emit.
const gameData = await GameProvider.giveWord(roomNum);
lobby.sockets.in(`/gameRoom${roomNum}`).emit('gameStart', gameData);
// 게임방 진행 활성화. 다른 유저 입장 제한.
await RoomProvider.getTrue(roomNum);
await redis.del(`ready${roomNum}`);
await redis.del(`readyStatus${roomNum}`);
}
수정 내용
1.
setTimeout
삭제 및redis.del('currentMember${roomNum}')
삭제게임방이 진행된 상태로 바뀌면서 삭제하는 redis 내의 키값 중
currentMember${roomNum}
을 삭제하는 줄을 삭제했습니다. 다른 페이지에서도 계속 사용되기 때문에 게임이 완전히 끝난 후에 삭제해야합니다.