WatchServerSocket.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef _WATCHSERVERSOCKET_H_
  2. #define _WATCHSERVERSOCKET_H_
  3. #include "CritSection.h"
  4. #include "SocketHandle.h"
  5. #include "SocketClientImpl.h"
  6. //---------------------------------------------- CDevicesManager ----
  7. class CWatchServerSocket:public ISocketClientHandler
  8. {
  9. typedef SocketClientImpl<ISocketClientHandler> CSocketClient;
  10. friend CSocketClient;
  11. public:
  12. CWatchServerSocket();
  13. ~CWatchServerSocket();
  14. public:
  15. BOOL Connection(LPCTSTR strAddr, LPCTSTR strPort);
  16. void DisConnection(void);
  17. void ProcessHeart(void *pData, int nLen);
  18. protected:
  19. // ISocketServerHandler
  20. virtual void OnThreadBegin(CSocketHandle* pSH);
  21. virtual void OnThreadExit(CSocketHandle* pSH);
  22. virtual void OnDataReceived(CSocketHandle* pSH, const BYTE* pbData, DWORD dwCount, const SockAddrIn& addr);
  23. virtual void OnConnectionDropped(CSocketHandle* pSH);
  24. virtual void OnConnectionError(CSocketHandle* pSH, DWORD dwError);
  25. public:
  26. CSocketClient m_SocketClient;
  27. int m_nSockType; //UDP »ò TCP
  28. int m_nMode; //IP4 »ò IP6
  29. BOOL m_bSocket;
  30. protected:
  31. void GetAddress(const SockAddrIn& addrIn, CString& rString) const;
  32. bool SetupMCAST();
  33. unsigned int CalcCheckSum( void *pData, unsigned int nSize );
  34. void ProcessData(CSocketHandle *pSH, const BYTE* pData, DWORD nLen);
  35. int OnCmdProcess(void *pData);
  36. private:
  37. };
  38. #endif