마무리

오늘은 프로젝트의 완성도를 높일 수 있도록 최적화를 해가는 작업을 실시했다.

notify 함수 설정

기존 sendNotification 메서드를 통해 room 내의 player들에게 패킷을 만들어 보내주었다!
하지만 패킷을 만드는 일은 핸들러가 하는게 구조상 알맞은 것 같아 수정을 하였다!

// Room 내부 메서드
/* 플레이어들에게 패킷 보내기 */
notify(infos) {
  for (const info of infos) {
    this.getPlayer(info.id).user.sendPacket(info.packetType, info.payload);
  }
}

// 핸들러에서 만들어주어서 보내도록 변경
const data = [
  {
    id: user.id,
    packetType: packetType.spawnMonsterResponse,
    payload: { monsterId, monsterNumber },
  },
  {
    id: player.opponentId,
    packetType: packetType.spawnEnemyMonsterNotification,
    payload: { monsterId, monsterNumber },
  },
];
// [8] 보냄
room.notify(data);

loginQueue

더미 클라이언트를 이용한 로그인 과정에서 중복로그인 이슈가 생겨,
이를 해결하기 위한 방법으로 로그인 대기열을 구현하기로 하였다

한줄 평 + 개선점

  • 어라라라 오늘 끝이 안낫자낭~ ㅎㅎ;