2021. 6. 25. 21:53 Server
Game Server HandOver
요즘은 점점 더 스마트 기기를 이용하여 Game을 즐기는 사람들이 늘어나고 있다.
Pc와는 다르게 Mobile에서는 session이 끊기는 일이 자주 발생하며
이러한 특징에 의해서 Mobile Game Server는 PC Game Server와는 다른 특이사항들이 존재한다.
이중 하나가 바로 HandOver인데 HandOver가 어떤것인지 알아보자.
수집형 RPG 모바일 게임등의 경우 실시간 동기화가 아닌 비동기식으로 게임을 진행하는 경우가 많다.
예를 들자면, 카드 수집형 RPG의 경우 전투를 시작할 시 전투 시작정보를 server와 통신한 후
실제 전투는 Server와 통신없이 진행된 후 마지막에 결과정보만 Server에 전달하는 식이다.
이러한 때문에 짧은순간만 Server와 통신을 해도 게임 진행이 가능하다는 특징이 있다.
그러나 이러한 특징과 모바일 기기의 특징이 만나면 PC와는 다른 예외상황들을 고민해야한다.
전투 시작 전 Session과 와이파이로 바뀐후에 전투결과를 Server로 보낸경우 동일 유저임을 어떻게 판단할 것이며
그에 따른 처리는 어떻게 진행해야 하는가등을 고려해야 하는 상황이 된것이다.
이러한 문제를 해결하기 위해서 Client는 Server에 접속할 시 SessionKey 등의 특정 식별값을 받는다.
그 후 실제 재접속이 이루어질 때 해당 SessionKey를 전달하여 재접속 처리를 진행한다.
(예를 들면 유저가 대기화면에서 Handover 발생시 Session이 접속해있던 LobbyServer로 연결을 다시 해준다거나 등등)
'Server' 카테고리의 다른 글
MSA 설계 시 고려해야할 것들 (0) | 2023.12.20 |
---|---|
MSA란? (0) | 2023.12.20 |
Convoying 이란? (0) | 2021.06.25 |
Lock Free 알고리즘에 대하여 (0) | 2021.06.25 |
Process와 Thread의 차이점 (0) | 2021.06.20 |