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

模拟服务器

开发平台:

C/C++

  1. // NetRelay.h: interface for the CNetRelay class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_NETRELAY_H__CDD2BB6B_7697_4606_8A4A_548E153CC60E__INCLUDED_)
  5. #define AFX_NETRELAY_H__CDD2BB6B_7697_4606_8A4A_548E153CC60E__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <deque>
  10. #include "KThread.h"
  11. class CNetRelay : public KThread_CS 
  12. {
  13. public:
  14. CNetRelay();
  15. virtual ~CNetRelay();
  16. public:
  17. virtual BOOL Stop();
  18. virtual HANDLE Start();
  19. private:
  20. virtual DWORD Main(LPVOID lpParam);
  21. virtual void Breathe();
  22. void Clearup();
  23. private:
  24. HANDLE m_hDataExist;
  25. private:
  26. struct PACKAGE
  27. {
  28. unsigned long idFrom;
  29. DWORD ipTo;
  30. DWORD portTo;
  31. void* pData;
  32. unsigned size;
  33. };
  34. typedef std::deque<PACKAGE> PACKAGEQUEUE;
  35. PACKAGEQUEUE m_queuePckg;
  36. public:
  37. int RelayPackage(unsigned long idFrom, DWORD ipTo, unsigned short portTo, void* pData, unsigned size);
  38. };
  39. #endif // !defined(AFX_NETRELAY_H__CDD2BB6B_7697_4606_8A4A_548E153CC60E__INCLUDED_)