__gxx_log__::__gxx_log__() { m_hFile = INVALID_HANDLE_VALUE ; m_bInitPah = FALSE; m_chFilePath[0] = L'\0'; InitializeCriticalSection(&m_cs); // 加密相关 m_pPSK = NULL; SetEncrypt(_T("dqdwzxc")); }
BOOL XESocketClientInServer::ProcessReservedPacket( DWORD idPacket, ID idKey, XPacket& p ) { auto packet = (XE::xtPacketReserved) idPacket; switch( packet ) { case XE::xXEPK_REQUEST_HB: { // 서버로부터 살아있는지 응답요청 받음. XPacket ar((ID)XE::xXEPK_RESPONSE_HB); Send( ar ); } break; case XE::xXEPK_CONNECT_COMPLETE: { // 서버로부터 암호화 키를 받음 0을 받으면 암호화 기능 끔 BYTE b1; p >> b1; BYTE keyCrypto = b1; SetkeyPrivate( keyCrypto ); p >> b1 >> b1 >> b1; // 서버로부터 받은 암호화 모드에 따라 초기화를 함. if( keyCrypto ) { DeSerializeKeyTable( p ); } else SetEncrypt( FALSE ); m_bReadyServer = TRUE; // 접속핸들러 호출 if( GetpDelegate() ) GetpDelegate()->DelegateConnect( this, m_dwConnectParam ); XTRACE("recv XEPK_CONNECT_COMPLETE"); if( m_bReconnected ) { XBREAK( m_stateConnect != 2 ); } m_stateConnect = 0; m_timerDelay.Off(); OnLogined(); // virtual } break; default: // 유저 정의 패킷. return FALSE; } return TRUE; }