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

模拟服务器

开发平台:

C/C++

  1. // HostServer.h: interface for the CHostServer class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_HOSTSERVER_H__8CF1F726_AF29_41C0_A9AD_0AD14A7370A7__INCLUDED_)
  5. #define AFX_HOSTSERVER_H__8CF1F726_AF29_41C0_A9AD_0AD14A7370A7__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <map>
  10. #include "NetServer.h"
  11. #include "HostConnect.h"
  12. class CHostServer : public CNetServer  
  13. {
  14. public:
  15. CHostServer();
  16. virtual ~CHostServer();
  17. protected:
  18. virtual CNetConnect* CreateConnect(CNetServer* pNetServer, unsigned long id);
  19. virtual void DestroyConnect(CNetConnect* pConn);
  20. virtual void OnBuildup();
  21. virtual void OnClearup();
  22. virtual void OnClientConnectCreate(CNetConnect* pConn);
  23. virtual void OnClientConnectClose(CNetConnect* pConn);
  24. private:
  25. typedef std::map<DWORD, CHostConnect*> IP2CONNECTMAP;
  26. IP2CONNECTMAP m_mapIp2Connect;
  27. CLockMRSW m_lockIpMap;
  28. public:
  29. class CNetConnectDup FindHostConnectByIP(DWORD IP);
  30. BOOL FindPlayerByAcc(CHostConnect* pConn, const std::_tstring& acc, CNetConnectDup* pConnDup, std::_tstring* pRole, DWORD* pNameID, unsigned long* pParam, std::_tstring* pRealAcc = NULL);
  31. BOOL FindPlayerByRole(CHostConnect* pConn, const std::_tstring& role, CNetConnectDup* pConnDup, std::_tstring* pAcc, DWORD* pNameID, unsigned long* pParam, std::_tstring* pRealRole = NULL);
  32. BOOL FindPlayerByIpParam(CHostConnect* pConn, DWORD ip, unsigned long param, CNetConnectDup* pConnDup, std::_tstring* pAcc, std::_tstring* pRole, DWORD* pNameID);
  33. //BOOL BroadOnPlayer(BOOL byAcc, DWORD fromIP, unsigned long fromRelayID, const void* pData, size_t size);
  34. public:
  35. size_t GetPlayerCount();
  36. public:
  37. BOOL TraceInfo();
  38. BOOL TracePlayer();
  39. };
  40. #endif // !defined(AFX_HOSTSERVER_H__8CF1F726_AF29_41C0_A9AD_0AD14A7370A7__INCLUDED_)