해야 할 일: 연결, 이벤트 등록, cleanup,…
피할 일: 렌더마다 새 socket 생성
Socket.IO 클라이언트, 별도 서버, Vercel 배포 제약이 만나는 지점을 운영 계약으로 정리한다.
피할 일: 렌더마다 새 socket 생성
피할 일: 함수 호출 수명에 연결 저장
피할 일: 로컬 포트 전제
핵심판정 WebSocket은 “연결됐다”에서 끝나지 않는다. 끊김, 재연결, 여러 서버, 배포 교체 상황에서도 같은 room과 메시지 계약이 유지돼야 한다.