[게임 서버] 6.5 와이파이 셀룰러 연결 핸드오버 기능

게시:     수정

카테고리:

태그:

📦 6. 게임 네트워크 엔진 프라우드넷

👉🏻 5. 와이파이 셀룰러 연결 핸드오버 기능

🔄 연결 유지 기능 (auto connection recovery)

목적:

  • 무선 네트워크가 끊어지는 경우를 대비한 것이다
  • 와이파이 지역 밖으로 나가거나, 안으로 들어갈 때 연결을 유지할 수 있도록 한다

⚙️ 연결 유지 기능 켜기

param.m_autoConnectionRecovery = true;
...
c->Connect(param);

설정:

  • 클라이언트에서 연결 유지 기능을 활성화시켜주어야 한다

동작:

  • 와이파이 지역 밖으로 나갈 때는 네트워크 통신이 일시적으로 멈춘다
    • 네트워크 연결이 회복되면, 그간 있었던 메시지를 한번에 받는다

📡 연결 정지/회복되었을 때 처리

클라이언트:

c->OnServerOffline = [...](CRemoteOfflineEventArgs &args) {
	// args에는 왜 오프라인이 되었는지에 대한 정보가 담겨있다.
	...
}

c->OnServerOnline = [...](CRemoteOnlineEventArgs &args) {
	// args에는 연결 핸드오버가 완료된 후 정보가 담겨있다.
	...
}

서버:

  • 서버에서는 OnClientOffline() 함수와 OnClientOnline() 함수를 통해 알 수 있다

P2P 네트워크:

  • P2P 네트워크 연결을 사용하면, 피어(peer: 연결 상대)에 대한 이벤트도 호출된다
    • 각각 OnP2PMemberOffline, OnP2PMemberOnline이다

🧐 정리

핵심 기능:

  • 모바일 환경의 네트워크 전환을 자동으로 처리
  • 와이파이 ↔ 셀룰러 전환 시에도 연결 유지
  • 일시적 오프라인 중 메시지 버퍼링 후 일괄 전송

이벤트:

  • 클라이언트: OnServerOffline, OnServerOnline
  • 서버: OnClientOffline, OnClientOnline
  • P2P: OnP2PMemberOffline, OnP2PMemberOnline

GameServer 카테고리 내 다른 글 보러가기

댓글남기기