모바일 환경에서 셀룰러 <-> 와이파이 전환은 빈번합니다. 프라우드넷은 이러한 환경에서도 엔진단에서 자동으로 네트워크 핸드오버를 처리 합니다. 여기서는 핸드오버 처리 과정과 사용 예를 설명 합니다.
사용자는 서버로의 Connect 이전에 다음과 같은 코드만 추가 하면 됩니다.
CNetConnectionParam cp;
cp.m_enableAutoConnectionRecovery = true;
client.Connect(cp);
서버에서 핸드오버 과정이 일어 났을 때의 이벤트 함수는 INetServerEvent 에서 아래의 함수를 override 하면 됩니다. (자세한 설명은 해당 함수의 주석을 참고 하십시오.)
virtual void OnClientOffline(CRemoteOfflineEventArgs &args) {} virtual void OnClientOnline(CRemoteOnlineEventArgs &args) {}
마찬가지로 클라이언트에서의 이벤트 함수는 INetClientEvent 에서 아래의 함수를 override 하면 됩니다. (자세한 설명은 해당 함수의 주석을 참고 하십시오.)
virtual void OnServerOffline(CRemoteOfflineEventArgs &args) {} virtual void OnServerOnline(CRemoteOnlineEventArgs &args) {} virtual void OnP2PMemberOffline(CRemoteOfflineEventArgs &args) {} virtual void OnP2PMemberOnline(CRemoteOnlineEventArgs &args) {}
주의 사항:
클라이언트의 네트워크가 끊어지고 Offline 이 콜백 된 뒤, 일정 시간 재연결이 되지 않으면 INetClientEvent.OnLeaveServer, INetServerEvent.OnClientLeave 가 콜백 됩니다.