NetSockDupEx.cpp
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 2k
Development Platform:

C/C++

  1. // NetSockDupEx.cpp: implementation of the CNetSockDupEx class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "NetSockDupEx.h"
  6. //////////////////////////////////////////////////////////////////////
  7. // Construction/Destruction
  8. //////////////////////////////////////////////////////////////////////
  9. CNetSockDupEx::CNetSockDupEx()
  10. {
  11. }
  12. CNetSockDupEx::CNetSockDupEx(const CNetConnectDup& rNetConnectDup)
  13. : m_NetConnectDup(rNetConnectDup)
  14. {
  15. ;
  16. }
  17. CNetSockDupEx::CNetSockDupEx(const CNetClientDup& rNetClientDup)
  18. : m_NetClientDup(rNetClientDup)
  19. {
  20. }
  21. CNetSockDupEx::CNetSockDupEx(const CNetSockDupEx& rNetSockDupEx)
  22. : m_NetConnectDup(rNetSockDupEx.m_NetConnectDup), m_NetClientDup(rNetSockDupEx.m_NetClientDup)
  23. {
  24. }
  25. CNetSockDupEx::~CNetSockDupEx()
  26. {
  27. }
  28. CNetSockDupEx::SOCKTYPE CNetSockDupEx::GetSockType() const
  29. {
  30. if (m_NetConnectDup.IsValid())
  31. return socktype_Connect;
  32. if (m_NetClientDup.IsValid())
  33. return socktype_Client;
  34. return socktype_none;
  35. }
  36. BOOL CNetSockDupEx::SendPackage(const void* pData, size_t size) const
  37. {
  38. if (m_NetConnectDup.IsValid())
  39. return m_NetConnectDup.SendPackage(pData, size);
  40. if (m_NetClientDup.IsValid())
  41. return m_NetClientDup.SendPackage(pData, size);
  42. return FALSE;
  43. }
  44. DWORD CNetSockDupEx::GetSockIP()const
  45. {
  46. if (m_NetConnectDup.IsValid())
  47. return m_NetConnectDup.GetIP();
  48. if (m_NetClientDup.IsValid())
  49. return m_NetClientDup.GetSvrIP();
  50. return 0;
  51. }
  52. unsigned long CNetSockDupEx::GetSockParam() const
  53. {
  54. if (m_NetConnectDup.IsValid())
  55. return m_NetConnectDup.GetID();
  56. //if (m_NetClientDup.IsValid())
  57. // return -1;
  58. return -1;
  59. }
  60. CNetSockDupEx& CNetSockDupEx::operator= (const CNetConnectDup& rNetConnectDup)
  61. {
  62. m_NetConnectDup = rNetConnectDup;
  63. m_NetClientDup.Clearup();
  64. return *this;
  65. }
  66. CNetSockDupEx& CNetSockDupEx::operator= (const CNetClientDup& rNetClientDup)
  67. {
  68. m_NetConnectDup.Clearup();
  69. m_NetClientDup = rNetClientDup;
  70. return *this;
  71. }
  72. CNetSockDupEx& CNetSockDupEx::operator= (const CNetSockDupEx& rNetSockDupEx)
  73. {
  74. m_NetConnectDup = rNetSockDupEx.m_NetConnectDup;
  75. m_NetClientDup = rNetSockDupEx.m_NetClientDup;
  76. return *this;
  77. }