#ifndef _CLIENT_SINGLE_SESSION_H_ #define _CLIENT_SINGLE_SESSION_H_ #include #include // forward decl. class CClientSock; class CBuffer; class CPacketToolDispatch; class CWnd; class CSingleSession { public: CSingleSession( ); ~CSingleSession( ); bool Send( CBuffer* lpBuffer ); bool Recv( ); void Close( ); void Destroy( ); bool Initialize( CPacketToolDispatch* CPacketToolDispatch ); bool Connect( TCHAR* Address, int nPort ); void Disconnected( ); bool GetConnected( ); bool SetCurrentWindow( CWnd* pMainFrame ); CWnd* GetCurrentWindow( ); private: SOCKET m_hSock; // SocketÁ¤ÀÇ CClientSock* m_lpClientAsync; // MfcŬ·¹½º CAsyncSocket CBuffer* m_pRecvBuffer; // ¹ÞÀºµ¥ÀÌÅ͸¦ º¸°üÇØµÎÀÚ. CPacketToolDispatch* m_pPacketDispatch; // ¹Þ¾ÒÀ¸¸é °¡Áö°í ³îÀÚ.. bool m_bIsConnected; void CloseSocket( ); bool InitializeInternal( CPacketToolDispatch* pPacketDispatch ); bool Dispatch( unsigned long dwReceivedBytes ); bool SetDispatch( CPacketToolDispatch* pPacketDispatch ); CDefaultBufferFactory m_DefaultBufferFactory; }; #endif