현재는 클라이언트가 게임 도중 브라우저 닫기 등을 통해 나가는 경우, 플레이어의 정보(제출 내역, 맞춘 항목 등등)을 삭제시키지 않고 보유하고 있으며, 방에 다시 들어온다면 새로운 소켓에 기존의 정보를 복원시켜 주고 있습니다. 그렇다보니 모든 플레이어가 퀴즈 풀이를 종료하면 타임 아웃 전에도 다음 퀴즈로 넘어가는 방향으로 구현했지만, 한 플레이어라도 중간에 나갔다면 모든 플레이어는 반드시 타임아웃 전까지는 대기 상태로 남아있어야 합니다.
웹소켓이 생각보다 네트워크 불안정 이슈 등으로 자주 연결이 끊어지는 것을 확인했는데, 짧은 끊김은 클라이언트에서 끊어졌다는 사실을 모르도록 퀴즈 진행이 매끄럽게 이어지는 것이 UX 측면에서 좋을까요?
아니면 끊김-재연결 사이에 관련 ui등을 넣는게 더 좋을까요?
sequenceDiagram
participant Client
participant Server
Note over Client: 소켓 연결 끊김 감지
Client->>Server: REST GET 요청
alt 200 OK
Server-->>Client: 데이터 반환
Note over Client: 웹소켓 재연결
Note over Client: 화면 리렌더링
else 거부
Server-->>Client: 에러 메시지
Note over Client: 사용자에게 에러 메시지 노출
end