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

模拟服务器

开发平台:

C/C++

  1. #pragma once
  2. #include "..MultiServerCommonBuffer.h"
  3. #include "..MultiServerCommonMacro.h"
  4. #pragma warning(disable:4786)
  5. #include <map>
  6. #include <vector>
  7. #include "KRoleInfomation.h"
  8. #include "..MultiServerHeavenInterfaceIServer.h"
  9. #include "..MultiServerHeavenInterfaceHeavenInterface.h"
  10. #include "KRoleDBHeader.h"
  11. namespace RoleDBServer
  12. {
  13. using namespace std;
  14. class KClientUser
  15. {
  16. public:
  17. KClientUser();
  18. ~KClientUser();
  19. char  m_szClientName[100];
  20. OnlineGameLib::Win32::CPackager m_RecvPackager;
  21. OnlineGameLib::Win32::CPackager m_SendPackager;
  22. unsigned char m_CurrentProtocol;
  23. // KRoleBlockProcess m_SendProcess;
  24. unsigned long m_nCurSendNo;
  25. //unsigned long m_nCurSendLen;
  26. unsigned long m_nProcessLoadCount;
  27. unsigned long m_nProcessWriteCount;
  28. size_t   m_ulSendBufferCount;
  29. size_t   m_ulRecvBufferCount;
  30. unsigned long m_ID;
  31. //KClientUserDataMap  m_DataMap;
  32. // KRoleStreamArtery m_StreamArtery;
  33. // KProcessDataSet m_DBProcessSet; //待数据库接口处理的数据集
  34. //KProcessDataSet m_UserProcessSet; //待发往服务器的数据集
  35. };
  36. typedef map<unsigned long , KClientUser *> KClientUserSet;
  37. class KNetServer
  38. {
  39. public:
  40. int Init();
  41. int Receive();
  42. int Send();
  43. int Receive(unsigned long nId);//
  44. int Send(unsigned long nId);//Send
  45. int AppendData(unsigned long nId, const void * pMsgBuffer, size_t nMsgLen);
  46. int Service(KClientUser * pClientUser, TProcessData * pData, int nId);
  47. void ClearProcessData(unsigned long nId);
  48. void RegisterClient(unsigned long nId);
  49. void DestoryClient(unsigned long nId);
  50. int  ClearClientSend(unsigned long nId);
  51. IServer * m_pNetServer;
  52. KClientUserSet m_ClientUserSet; //与其连接的游戏服务器集合
  53. };
  54. extern KNetServer g_NetServer;
  55. // typedef vector<TProcessData *> KProcessDataSet;
  56. }