핸드셰이크
클라이언트 연결 시 토큰이나 쿠키로 사용자 신원을 확인한다.
NestJS WebSocket은 HTTP controller의 실시간 버전이 아니라, 연결 생성, 인증, room 구독, 메시지 fan-out, 연결 해제를 계속 관리하는 장기 세션 구조다.
클라이언트 연결 시 토큰이나 쿠키로 사용자 신원을 확인한다.
사용자가 들어갈 room을 권한 검증 후 join 처리한다.
들어온 이벤트 payload를 검증하고 서버 상태 변경 또는 broadcast를 수행한다.
disconnect 시 presence, lock, room membership을 정리한다.