HTTP 업그레이드로 소켓을 만들고 토큰과 CORS를 확인한다.
WebSocket Gateway
NestJS WebSocket은 연결 입구를 Gateway로 모은다
게이트웨이는 연결 수명주기, 이벤트 처리, 룸 단위 전파를 한곳에서 다룬다.
@WebSocketGateway가 접속, 해제, 네임스페이스를 관리한다.
@SubscribeMessage가 클라이언트 이벤트를 서버 로직으로 보낸다.
특정 방, 사용자, 전체 브로드캐스트를 구분해 메시지를 전파한다.
단순하지만 지연과 헤더 비용이 크다.
서버 응답을 늦추지만 요청은 계속 반복된다.
채팅, 알림, 협업처럼 즉시 밀어줘야 하는 기능에 적합하다.
핵심 HTTP 요청을 반복하는 대신 하나의 연결을 유지하고, 서버가 필요한 순간 바로 메시지를 밀어 넣는다.