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

模拟服务器

开发平台:

C/C++

  1. // NetCenter.h: interface for the CNetCenter class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_NETCENTER_H__7D615C7A_1D62_4EBC_B25C_7748DC4EEF6F__INCLUDED_)
  5. #define AFX_NETCENTER_H__7D615C7A_1D62_4EBC_B25C_7748DC4EEF6F__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <set>
  10. #include "NetClient.h"
  11. class CNetCenter  
  12. {
  13. public:
  14. CNetCenter();
  15. virtual ~CNetCenter();
  16. public:
  17. BOOL Initialize();
  18. BOOL Uninitialize();
  19. size_t GetClientCount();
  20. BOOL BroadPackage(const void* pData, size_t size);
  21. private:
  22. typedef std::set<CNetClient*> CLIENTSET;
  23. CLIENTSET m_setClient;
  24. public:
  25. void _NotifyServerEventCreate(CNetClient* pClient);
  26. void _NotifyServerEventClose(CNetClient* pClient);
  27. protected:
  28. virtual void OnBuildup() {}
  29. virtual void OnClearup() {}
  30. virtual void OnServerEventCreate(CNetClient* pClient) {}
  31. virtual void OnServerEventClose(CNetClient* pClient) {}
  32. private:
  33. CLockMRSW m_lockAccess;
  34. CLockMRSW m_lockServer;
  35. public:
  36. BOOL Route();
  37. };
  38. #endif // !defined(AFX_NETCENTER_H__7D615C7A_1D62_4EBC_B25C_7748DC4EEF6F__INCLUDED_)