CNetworkManager

클래스 개요

CNetworkManager는 게임 서버와의 네트워크 통신을 총괄하는 싱글톤 매니저 클래스입니다. TCP 소켓 연결 관리, 패킷 송수신, 재접속 처리, 연결 상태 모니터링 등의 핵심 네트워크 기능을 제공합니다.

주요 책임

  • 연결 관리: 서버 접속, 해제, 자동 재접속 처리
  • 패킷 처리: 송신 큐 관리 및 수신 패킷 디스패치
  • 상태 모니터링: 핑 측정, 연결 품질 추적
  • 보안: 패킷 암호화/복호화 레이어 제공

상속 구조

cpp
class CNetworkManager : public CSingleton<CNetworkManager>
                      , public IConnectionObserver
{
    // ...
};

주요 멤버 변수

변수명 타입 설명
m_pSocket CSocket* TCP 소켓 객체
m_eState EConnectionState 현재 연결 상태
m_nPingMs int 최근 핑 값 (ms)
m_SendQueue CPacketQueue 송신 대기 큐

관련 파일

  • NetworkManager.h / NetworkManager.cpp
  • PacketHandler.h (패킷 핸들러 인터페이스)
  • SocketWrapper.h (소켓 추상화 레이어)

함수 목록

  • Initialize - 네트워크 시스템 초기화
  • Connect - 서버 연결 시도
  • Disconnect - 연결 종료
  • SendPacket - 패킷 송신
  • Update - 프레임 업데이트 (수신 처리)
  • GetPing - 현재 핑 값 반환