사용자 한 명, 기기는 여러 대
실제 사용자는 휴대폰, 노트북, 태블릿에서 동시에 연결해. 단순한 user_id → ws 맵은 두 번째 연결이 첫 번째를 조용히 덮어쓰는 순간 깨져. 일대다 인덱스로 바꿔 user_id → connection_id set 을 두고, 별도로 connection_id → WebSocket 을 관리해야 해.
연결 ID
연결할 때 무작위 ID 를 만들고 내부의 모든 곳에서 사용해. 클라이언트는 이 값을 알 필요가 없어. 구현 세부 사항을 드러내지 않으면서 특정 연결에만 메시지를 보내고, 연결별 속도 제한, 원격 측정, 세션 메타데이터도 붙일 수 있어.