#ifndef _CLIENT_SOCKET_H_ #define _CLIENT_SOCKET_H_ #include "TcpParse.h" #pragma warning(push) #pragma warning(disable:4995) #pragma warning(pop) #include "CritSection.h" #include "SocketHandle.h" #include "SocketClientImpl.h" const int TCPCLIENTNUM = 10; class CTCPClient: public CDialog, public ISocketClientHandler { typedef SocketClientImpl CSocketClient; friend CSocketClient; protected: // ISocketServerHandler virtual void OnThreadBegin(CSocketHandle* pSH); virtual void OnThreadExit(CSocketHandle* pSH); virtual void OnDataReceived(CSocketHandle* pSH, const BYTE* pbData, DWORD dwCount, const SockAddrIn& addr); virtual void OnConnectionDropped(CSocketHandle* pSH); virtual void OnConnectionError(CSocketHandle* pSH, DWORD dwError); void GetAddress(const SockAddrIn& addrIn, CString& rString) const; bool SetupMCAST(); public: CTCPClient(); ~CTCPClient(); BOOL Connection(LPCTSTR strAddr, LPCTSTR strPort); void DisConnection(void); static CTCPClient* GetInstancePtr( int iTCPIndex ); BOOL SendNoticeToServer( int iCmd,int iOperateType,CString sUserName,CString sUID,int iVarID ); BOOL GetServerVer(); BOOL TestAlarm(); BOOL ConfigAlarm( CString sUID,int iVarID,int iStatus,int iAlarmIndex ); public : CSocketClient m_SocketClient; CTcpParse m_TcpParse; BOOL m_bSocket; void Release(); private: enum { IDD = 10 }; int m_nSockType; //UDP »ò TCP int m_nMode; //IP4 »ò IP6 static CTCPClient *m_pTcpClient[TCPCLIENTNUM]; }; #endif