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

模拟服务器

开发平台:

C/C++

  1. #pragma once
  2. #pragma warning(disable:4786)
  3. #include <map>
  4. #include <vector>
  5. #include "KRoleInfomation.h"
  6. #include "IServer.h"
  7. #include "HeavenInterface.h"
  8. #include "KRoleDBHeader.h"
  9. //typedef map<unsigned long ulIdentity, KRoleBlockProcess >;
  10. namespace RoleDBServer
  11. {
  12. using namespace std;
  13. class KClientUser
  14. {
  15. public:
  16. KClientUser();
  17. char  m_szClientName[100];
  18. TProcessData *m_pCurrentRecvProcessData;
  19. unsigned long m_nCurGetRecvLen;
  20. TProcessData  *m_pCurrentSendProcessData;
  21. unsigned long m_nCurSendLen;
  22. unsigned long m_nProcessLoadCount;
  23. unsigned long m_nProcessWriteCount;
  24. unsigned long m_ID;
  25. // KProcessDataSet m_DBProcessSet; //待数据库接口处理的数据集
  26. //KProcessDataSet m_UserProcessSet; //待发往服务器的数据集
  27. };
  28. typedef map<unsigned long , KClientUser *> KClientUserSet;
  29. class KNetServer
  30. {
  31. public:
  32. int Init();
  33. int Receive();
  34. int Send();
  35. //private:
  36. int Receive(unsigned long nId);//
  37. int Send(unsigned long nId);//Send
  38. //int SendBuffer(TMsg * pMsgBuffer);
  39. int AppendData(unsigned long nId, TRoleNetMsg * pMsgBuffer, size_t nMsgLen);
  40. void InsertProcessData2Set(int nId);
  41. void ClearCurProcessData(unsigned long nId);
  42. void RegisterClient(unsigned long nId);
  43. void DestoryClient(unsigned long nId);
  44. IServer * m_pNetServer;
  45. KClientUserSet m_ClientUserSet; //与其连接的游戏服务器集合
  46. };
  47. extern KNetServer g_NetServer;
  48. typedef vector<TProcessData *> KProcessDataSet;
  49. }