Gaepo-transcendance-fighters / BACK-END

0 stars 2 forks source link

FIX: check Queue, Distance, DB problems #223

Closed Paul2021-R closed 1 year ago

Paul2021-R commented 1 year ago
  1. Queue 에 정상적이지 못하게 2번씩 소켓에 접속되거나, 데이터가 이상하게 들어오는 경우가 있었습니다(동일한 사람에 대해서)

    • 이에 List 를 확인하고, 동일한 userId인 경우, 동일한 userId이고 소켓이 다른경우들을 고려하여, 로직 처리함
    • 동일 소켓, 동일 유저가 두명으로 큐가 잡히는 경우 -> 하나만 남기고 다시 큐 검색을 하게 함.
    • 다른 소켓(죽은 소켓, 살아있는 소켓 경우), 동일 유저 -> 살아 있는 소켓만으로 다시 큐에 집어넣고, 재 검색 처리
    • 다른 소켓(두개 살아있는 소켓), 동일 유저 -> 에러 상황 game_queue_quit 으로 종료 처리
  2. Distance

    • 정상적으로 거리값이 바뀌지 않음. 로직 단편화 문제였음. 수정 처리 하여서 room 생성자 부분에서 통제 가능하도록 수정
  3. DB Problems

    • DB의 로직 상 비동기 구조로 인해, 정상 데이터를 전달하지 못하는 경우가 있었음.
    • 그리하여 구조적으로 비동기 처리를 하지 말고 처리해야 하는 곳만 비동기를 해제, 그렇게 했음에도 문제가 발생되는 부분은 프론트엔드에서 기다리는 것으로 처리하여 마무리