#pragma once #include #include #include #include class ServerSession : public NetworkObject { public: ServerSession(void); virtual ~ServerSession(void); //virtual public: virtual VOID OnAccept( DWORD dwNetworkIndex ); virtual VOID OnDisconnect(); virtual VOID OnRecv( BYTE *pMsg, WORD wSize ) = 0; virtual VOID OnConnect( BOOL bSuccess, DWORD dwNetworkIndex ); virtual VOID OnLogString( char *pszLog ) {} virtual eUPDATE_SERVER_TYPE GetServerType(){ return UPDATE_UNKNOWN; } inline VOID SetIsConnector( BOOL bIsConnector ){ m_bIsConnector = bIsConnector; } inline BOOL IsConnector(){ return m_bIsConnector; } inline VOID SetConnected( BOOL bIsConnected ){ m_bIsConnected = bIsConnected; } inline BOOL IsConnected(){ return m_bIsConnected; } std::string GetConnectIP(){ return m_strConnectIP; } inline WORD GetConnectPort(){ return m_wConnectPort; } DWORD GetServerKey(){ return m_dwServerKey; } VOID SetServerKey( DWORD dwServerKey ){ m_dwServerKey = dwServerKey; } DWORD GetSessionIndex(){ return m_dwSessionIndex; } VOID Clone( ServerSession* pServerSession ); BOOL SendPacket( BYTE* pMsg, WORD wSize ); std::string GetServerTypeStr(); private: DWORD m_dwSessionIndex; DWORD m_dwServerKey; BOOL m_bIsConnector; std::string m_strConnectIP; WORD m_wConnectPort; BOOL m_bIsConnected; };