NetSockDupEx.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // NetSockDupEx.h: interface for the CNetSockDupEx class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_NETSOCKDUPEX_H__B385E71F_A852_41C4_BB1B_1199612E19B5__INCLUDED_)
  5. #define AFX_NETSOCKDUPEX_H__B385E71F_A852_41C4_BB1B_1199612E19B5__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "NetConnect.h"
  10. #include "NetClient.h"
  11. class CNetSockDupEx  
  12. {
  13. public:
  14. CNetSockDupEx();
  15. CNetSockDupEx(const CNetConnectDup& rNetConnectDup);
  16. CNetSockDupEx(const CNetClientDup& rNetClientDup);
  17. CNetSockDupEx(const CNetSockDupEx& rNetSockDupEx);
  18. virtual ~CNetSockDupEx();
  19. public:
  20. enum SOCKTYPE {socktype_none, socktype_Connect, socktype_Client};
  21. public:
  22. BOOL IsValid() const {return m_NetConnectDup.IsValid() || m_NetClientDup.IsValid();}
  23. SOCKTYPE GetSockType() const;
  24. BOOL SendPackage(const void* pData, size_t size) const;
  25. DWORD GetSockIP()const;
  26. unsigned long GetSockParam() const;
  27. const CNetConnectDup& GetConnectDup() const {return m_NetConnectDup;}
  28. const CNetClientDup& GetClientDup() const {return m_NetClientDup;}
  29. void Clearup() {m_NetConnectDup.Clearup(); m_NetClientDup.Clearup();}
  30. CNetSockDupEx& operator= (const CNetConnectDup& rNetConnectDup);
  31. CNetSockDupEx& operator= (const CNetClientDup& rNetClientDup);
  32. CNetSockDupEx& operator= (const CNetSockDupEx& rNetSockDupEx);
  33. private:
  34. //most only one is valid
  35. CNetConnectDup m_NetConnectDup;
  36. CNetClientDup m_NetClientDup;
  37. };
  38. #endif // !defined(AFX_NETSOCKDUPEX_H__B385E71F_A852_41C4_BB1B_1199612E19B5__INCLUDED_)