방(rooms) 기능에서 무엇을 하느냐에 따라 웹소켓과 HTTP(REST API)를 섞어서 사용하는 것이 가장 효율적
결론 → 방 목록 조회 및 생성은 HTTP로, 방 내부의 실시간 상태 변화는 웹소켓으로 처리
모든 것을 웹소켓으로 처리하면 서버 연결 유지(Connection) 비용이 너무 커짐.
| 기능 | 통신 방식 | 이유 |
|---|---|---|
| 방 목록 조회 (탐색) | HTTP (GET) | 사용자가 앱에 접속했을 때 한 번만 데이터를 받아오면 됨. |
| 방 만들기 (생성) | HTTP (POST) | 방 생성 후 성공 응답을 받고 방 ID를 받아오는 과정 |
| 방 내부 실시간 통신 | WebSocket | 입퇴장, 채팅, 게임 시작, 마이크 상태 등 실시간성이 핵심 |
방에 입장한 이후부터는 모든 것이 웹소켓으로 돌아가야 함.
GET /rooms 호출.POST /rooms 호출 후 roomId 응답 받음.roomId를 가지고 웹소켓 서버의 해당 방(Namespace 또는 Room)으로 접속.