诸暨麻将添加redis
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 
 

227 Zeilen
7.2 KiB

  1. #ifndef ATTEMPER_ENGINE_SINK_HEAD_FILE
  2. #define ATTEMPER_ENGINE_SINK_HEAD_FILE
  3. #pragma once
  4. #include "Stdafx.h"
  5. #include "InitParameter.h"
  6. #include "ServerListManager.h"
  7. #include "RedisHead.h"
  8. //////////////////////////////////////////////////////////////////////////////////
  9. //数据定义
  10. //连接类型
  11. #define CLIENT_KIND_FALSH 1 //网页类型
  12. #define CLIENT_KIND_MOBILE 2 //手机类型
  13. #define CLIENT_KIND_COMPUTER 3 //电脑类型
  14. //绑定参数
  15. struct tagBindParameter
  16. {
  17. //网络参数
  18. DWORD dwSocketID; //网络标识
  19. DWORD dwClientAddr; //连接地址
  20. DWORD dwActiveTime; //激活时间
  21. //连接信息
  22. WORD wModuleID; //模块标识
  23. BYTE cbClientKind; //连接类型
  24. DWORD dwPlazaVersion; //大厅版本
  25. };
  26. //平台配置
  27. struct tagPlatformParameter
  28. {
  29. WORD wExchangeRate; //兑换比率
  30. };
  31. //////////////////////////////////////////////////////////////////////////////////
  32. //调度钩子
  33. class CAttemperEngineSink : public IAttemperEngineSink
  34. {
  35. //友元定义
  36. friend class CHttpClient;
  37. friend class CServiceUnits;
  38. friend class CLogonServerDlg;
  39. //状态变量
  40. protected:
  41. ///[---add by yd
  42. DWORD m_dwHearbeatTime;
  43. public:
  44. WORD m_wServerID; //登录服务器ID
  45. ///---]
  46. protected:
  47. bool m_bNeekCorrespond; //协调标志
  48. bool m_bShowServerStatus; //显示服务器状态
  49. //配置变量
  50. protected:
  51. SCORE m_lCheckInReward[LEN_WEEK]; //签到奖励
  52. tagPlatformParameter m_PlatformParameter; //平台参数
  53. tagBaseEnsureParameter m_BaseEnsureParameter; //低保参数
  54. CMap<int, int, HTREEITEM, HTREEITEM> m_LoginServiceIDMap; //游戏服务器菜单记录
  55. //任务参数
  56. protected:
  57. WORD m_wTaskCount; //任务数目
  58. WORD m_wTaskCountBuffer; //任务数目
  59. tagTaskParameter m_TaskParameter[TASK_MAX_COUNT]; //任务参数
  60. tagTaskParameter m_TaskParameterBuffer[TASK_MAX_COUNT];//任务参数
  61. //会员参数
  62. protected:
  63. WORD m_wMemberCount; //会员数目
  64. tagMemberParameter m_MemberParameter[10]; //会员参数
  65. CMap<DWORD, DWORD, WORD, WORD> m_MapServerUserID; //玩家GameServer信息 ///---dwUserID => wServerID
  66. //等级配置
  67. protected:
  68. WORD m_wLevelCount; //等级数目
  69. tagGrowLevelConfig m_GrowLevelConfig[60]; //等级配置
  70. //变量定义
  71. protected:
  72. CInitParameter * m_pInitParameter; //配置参数
  73. tagBindParameter * m_pBindParameter; //辅助数组
  74. //组件变量
  75. public:
  76. CServerListManager m_ServerListManager; //列表管理
  77. //组件接口
  78. public:
  79. ITimerEngine * m_pITimerEngine; //时间引擎
  80. IDataBaseEngine * m_pIDataBaseEngine; //数据引擎
  81. ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎
  82. ITCPSocketService * m_pITCPSocketService; //协调服务
  83. std::shared_ptr<RedisBase> m_RedisClient;//redis
  84. //视频配置
  85. protected:
  86. WORD m_wAVServerPort; //视频端口
  87. DWORD m_dwAVServerAddr; //视频地址
  88. //函数定义
  89. public:
  90. //构造函数
  91. CAttemperEngineSink();
  92. //析构函数
  93. virtual ~CAttemperEngineSink();
  94. //基础接口
  95. public:
  96. //释放对象
  97. virtual VOID Release() { return; }
  98. //接口查询
  99. virtual VOID * QueryInterface(REFGUID Guid, DWORD dwQueryVer);
  100. //替换昵称
  101. void Fstring(TCHAR* pCheck);
  102. //异步接口
  103. public:
  104. //启动事件
  105. virtual bool OnAttemperEngineStart(IUnknownEx * pIUnknownEx);
  106. //停止事件
  107. virtual bool OnAttemperEngineConclude(IUnknownEx * pIUnknownEx);
  108. //事件接口
  109. public:
  110. //控制事件
  111. virtual bool OnEventControl(WORD wIdentifier, VOID * pData, WORD wDataSize);
  112. //自定事件
  113. virtual bool OnEventAttemperData(WORD wRequestID, VOID * pData, WORD wDataSize);
  114. //同步事件
  115. virtual bool OnTongBu(int Command, DWORD dwContextID, VOID * pData, WORD wDataSize);
  116. //内核事件
  117. public:
  118. //时间事件
  119. virtual bool OnEventTimer(DWORD dwTimerID, WPARAM wBindParam);
  120. //数据库事件
  121. virtual bool OnEventDataBase(WORD wRequestID, DWORD dwContextID, VOID * pData, WORD wDataSize);
  122. int UpDataTongDao();
  123. //连接事件
  124. public:
  125. //连接事件
  126. virtual bool OnEventTCPSocketLink(WORD wServiceID, INT nErrorCode);
  127. //关闭事件
  128. virtual bool OnEventTCPSocketShut(WORD wServiceID, BYTE cbShutReason);
  129. //读取事件
  130. virtual bool OnEventTCPSocketRead(WORD wServiceID, TCP_Command Command, VOID * pData, WORD wDataSize);
  131. //网络事件
  132. public:
  133. //应答事件
  134. virtual bool OnEventTCPNetworkBind(DWORD dwClientAddr, DWORD dwSocketID);
  135. //关闭事件
  136. virtual bool OnEventTCPNetworkShut(DWORD dwClientAddr, DWORD dwActiveTime, DWORD dwSocketID);
  137. //读取事件
  138. virtual bool OnEventTCPNetworkRead(TCP_Command Command, VOID * pData, WORD wDataSize, DWORD dwSocketID);
  139. //连接处理
  140. protected:
  141. //注册事件
  142. bool OnTCPSocketMainRegister(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  143. //服务信息
  144. bool OnTCPSocketMainServiceInfo(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  145. //管理服务
  146. bool OnTCPSocketMainManagerService(WORD wSubCmdID, VOID * pData, WORD wDataSize);
  147. //手机事件
  148. protected:
  149. //获取验证码
  150. bool OnTCPNetworkMainYanZhengM(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
  151. //登录处理
  152. bool OnTCPNetworkMainMBLogon(WORD wSubCmdID, VOID * pData, WORD wDataSize, DWORD dwSocketID);
  153. //手机事件
  154. protected:
  155. //帐号登录,手机登录
  156. bool OnTCPNetworkSubMBLogonAccounts(VOID * pData, WORD wDataSize, DWORD dwSocketID);
  157. //其他登录
  158. bool OnTCPNetworkSubMBLogonOtherPlatform(VOID * pData, WORD wDataSize, DWORD dwSocketID);
  159. //游戏事件
  160. protected:
  161. //数据库校验手机号码
  162. bool OnDBPCYanZhengMSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
  163. //手机事件
  164. protected:
  165. //登录成功
  166. bool OnDBMBLogonSuccess(DWORD dwContextID, VOID * pData, WORD wDataSize);
  167. //登录失败
  168. bool OnDBMBLogonFailure(DWORD dwContextID, VOID * pData, WORD wDataSize);
  169. std::string string_To_UTF8(LPCSTR str, DWORD dwSize);
  170. //列表事件
  171. protected:
  172. ////游戏列表
  173. bool OnDBPCGameListResult(DWORD dwContextID, VOID * pData, WORD wDataSize);
  174. //辅助函数
  175. protected:
  176. //版本检测
  177. bool CheckPlazaVersion(BYTE cbDeviceType, DWORD dwPlazaVersion, DWORD dwSocketID, bool bCheckLowVer = true);
  178. //发送请求
  179. bool SendUIControlPacket(WORD wRequestID, VOID * pData, WORD wDataSize);
  180. //手机列表
  181. protected:
  182. //发送房间
  183. int SendMobileServerInfo(DWORD dwSocketID, WORD wModuleID, DWORD dwXinYong, DWORD wServerID, DWORD dUserID, LONGLONG JuLi);
  184. //获取距离排名
  185. bool GetPaiMing(DWORD dUserID, LONGLONG JuLi, int& iPaiMing, int& iCount);
  186. //辅助函数
  187. public:
  188. // 获取可用服务器
  189. CGameServerItem* GetServiceLevel(int iLevel, CList<CGameServerItem*>* List, DWORD UserID, int iPaiMing, int iCount);
  190. //验证码回调
  191. bool OnTCPNetworkMainMBLogonMiMa(CString strIPhone, CString VerfCode, DWORD dwSocketID);
  192. bool OnTCPNetworkMainHandleMBLogon(CString strIPhone, DWORD dwSocketID);
  193. };
  194. //////////////////////////////////////////////////////////////////////////////////
  195. #endif