TCPClient.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef _CLIENT_SOCKET_H_
  2. #define _CLIENT_SOCKET_H_
  3. #include "TcpParse.h"
  4. #pragma warning(push)
  5. #pragma warning(disable:4995)
  6. #pragma warning(pop)
  7. #include "CritSection.h"
  8. #include "SocketHandle.h"
  9. #include "SocketClientImpl.h"
  10. const int TCPCLIENTNUM = 50;
  11. class CTCPClient: public CDialog, public ISocketClientHandler
  12. {
  13. typedef SocketClientImpl<ISocketClientHandler> CSocketClient;
  14. friend CSocketClient;
  15. protected:
  16. // ISocketServerHandler
  17. virtual void OnThreadBegin(CSocketHandle* pSH);
  18. virtual void OnThreadExit(CSocketHandle* pSH);
  19. virtual void OnDataReceived(CSocketHandle* pSH, const BYTE* pbData, DWORD dwCount, const SockAddrIn& addr);
  20. virtual void OnConnectionDropped(CSocketHandle* pSH);
  21. virtual void OnConnectionError(CSocketHandle* pSH, DWORD dwError);
  22. void GetAddress(const SockAddrIn& addrIn, CString& rString) const;
  23. bool SetupMCAST();
  24. public:
  25. CTCPClient();
  26. ~CTCPClient();
  27. BOOL Connection(LPCTSTR strAddr, LPCTSTR strPort);
  28. void DisConnection(void);
  29. static CTCPClient* GetInstancePtr( int iTCPIndex );
  30. public :
  31. CSocketClient m_SocketClient;
  32. CTcpParse m_TcpParse;
  33. BOOL m_bSocket;
  34. void Release();
  35. private:
  36. enum { IDD = 10 };
  37. int m_nSockType; //UDP »ò TCP
  38. int m_nMode; //IP4 »ò IP6
  39. static CTCPClient *m_pTcpClient[TCPCLIENTNUM];
  40. };
  41. #endif