[게임 서버] 6.5 와이파이 셀룰러 연결 핸드오버 기능
카테고리: GameServer
태그: GameServer
📦 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
댓글남기기