@@ -16,6 +16,7 @@ XHANDLE xhTCPPool = NULL;
1616XHANDLE xhHttpPool = NULL ;
1717XHANDLE xhWSPool = NULL ;
1818XHANDLE xhMQTTPool = NULL ;
19+ XHANDLE xhMemPool = NULL ;
1920
2021XENGINE_SERVERCONFIG st_ServiceCfg;
2122MESSAGEQUEUE_DBCONFIG st_DBConfig;
@@ -41,6 +42,7 @@ void ServiceApp_Stop(int signo)
4142 ManagePool_Thread_NQDestroy (xhHttpPool);
4243 ManagePool_Thread_NQDestroy (xhWSPool);
4344 ManagePool_Thread_NQDestroy (xhMQTTPool);
45+ ManagePool_Memory_Destory (xhMemPool);
4446
4547 DBModule_MQData_Destory ();
4648 DBModule_MQUser_Destory ();
@@ -151,15 +153,15 @@ int main(int argc, char** argv)
151153 if (NULL == xhLog)
152154 {
153155 printf (" 启动服务器失败,启动日志失败,错误:%lX" , XLog_GetLastError ());
154- goto NETSERVICEEXIT ;
156+ goto XENGINE_APPEXIST ;
155157 }
156158 HelpComponents_XLog_SetLogPriority (xhLog, st_ServiceCfg.st_XLog .nLogLeave );
157159 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化日志系统成功" ));
158160
159161 if (!Config_Json_DBFile (lpszDBConfig, &st_DBConfig))
160162 {
161163 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务中,初始化数据库配置失败,错误:%lX" ), Config_GetLastError ());
162- goto NETSERVICEEXIT ;
164+ goto XENGINE_APPEXIST ;
163165 }
164166 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化数据库配置成功" ));
165167
@@ -174,12 +176,20 @@ int main(int argc, char** argv)
174176 signal (SIGABRT, ServiceApp_Stop);
175177 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化服务器信号管理成功" ));
176178
179+ xhMemPool = ManagePool_Memory_Create ();
180+ if (NULL == xhMemPool)
181+ {
182+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务中,初始化内存池失败,错误:%lX" ), ManagePool_GetLastError ());
183+ goto XENGINE_APPEXIST;
184+ }
185+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化内存池成功" ));
186+
177187 if (st_ServiceCfg.st_XMemory .bDataQueryEnable || st_ServiceCfg.st_XMemory .bDataInsertEnable )
178188 {
179189 if (!MemoryCache_DBData_Init (st_ServiceCfg.st_XMemory .nTimeLast , st_ServiceCfg.st_XMemory .nTimeCount , MessageQueue_CBTask_MemoryCache))
180190 {
181191 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务中,初始化消息内容高速缓存服务失败,错误:%lX" ), MemoryCache_GetLastError ());
182- goto NETSERVICEEXIT ;
192+ goto XENGINE_APPEXIST ;
183193 }
184194 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化消息内容高速缓存服务成功,更新最大时间:%d,存储最大时间:%d" ), st_ServiceCfg.st_XMemory .nTimeLast , st_ServiceCfg.st_XMemory .nTimeCount );
185195 }
@@ -192,7 +202,7 @@ int main(int argc, char** argv)
192202 if (!MemoryCache_DBUser_Init (st_ServiceCfg.st_XMemory .nTimeLast , st_ServiceCfg.st_XMemory .nTimeCount , MessageQueue_CBTask_MemoryCache))
193203 {
194204 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务中,初始化用户信息高速缓存服务失败,错误:%lX" ), MemoryCache_GetLastError ());
195- goto NETSERVICEEXIT ;
205+ goto XENGINE_APPEXIST ;
196206 }
197207 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化用户信息高速缓存服务成功,更新最大时间:%d,存储最大时间:%d" ), st_ServiceCfg.st_XMemory .nTimeLast , st_ServiceCfg.st_XMemory .nTimeCount );
198208 }
@@ -206,20 +216,20 @@ int main(int argc, char** argv)
206216 if (!DBModule_MQData_Init ((DATABASE_MYSQL_CONNECTINFO*)&st_ServiceCfg.st_XSql , st_ServiceCfg.st_XMemory .bDataQueryEnable , st_ServiceCfg.st_XMemory .bDataInsertEnable ))
207217 {
208218 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务中,初始化消息数据数据库失败,错误:%lX" ), DBModule_GetLastError ());
209- goto NETSERVICEEXIT ;
219+ goto XENGINE_APPEXIST ;
210220 }
211221 if (!DBModule_MQUser_Init ((DATABASE_MYSQL_CONNECTINFO*)&st_ServiceCfg.st_XSql , st_ServiceCfg.st_XMemory .bUserQueryEnable , MessageQueue_CBTask_TimePublish))
212222 {
213223 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务中,初始化消息用户数据库失败,错误:%lX" ), DBModule_GetLastError ());
214- goto NETSERVICEEXIT ;
224+ goto XENGINE_APPEXIST ;
215225 }
216226 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化数据库服务成功" ));
217227 }
218228
219229 if (!SessionModule_Client_Init ())
220230 {
221231 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 初始化客户端会话管理器失败,错误:%lX" ), SessionModule_GetLastError ());
222- goto NETSERVICEEXIT ;
232+ goto XENGINE_APPEXIST ;
223233 }
224234 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化客户端会话管理器成功" ));
225235 // TCP消息服务
@@ -230,15 +240,15 @@ int main(int argc, char** argv)
230240 if (NULL == xhTCPPacket)
231241 {
232242 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 初始化TCP组包器失败,错误:%lX" ), Packets_GetLastError ());
233- goto NETSERVICEEXIT ;
243+ goto XENGINE_APPEXIST ;
234244 }
235245 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动TCP组包器成功" ));
236246 // 启动网络
237247 xhTCPSocket = NetCore_TCPXCore_StartEx (st_ServiceCfg.nTCPPort , st_ServiceCfg.st_XMax .nMaxClient , st_ServiceCfg.st_XMax .nIOThread );
238248 if (NULL == xhTCPSocket)
239249 {
240250 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动TCP网络服务器失败,错误:%lX" ), NetCore_GetLastError ());
241- goto NETSERVICEEXIT ;
251+ goto XENGINE_APPEXIST ;
242252 }
243253 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动TCP网络服务器成功,TCP端口:%d,IO:%d" ), st_ServiceCfg.nTCPPort , st_ServiceCfg.st_XMax .nIOThread );
244254 NetCore_TCPXCore_RegisterCallBackEx (xhTCPSocket, MessageQueue_Callback_TCPLogin, MessageQueue_Callback_TCPRecv, MessageQueue_Callback_TCPLeave);
@@ -257,7 +267,7 @@ int main(int argc, char** argv)
257267 if (NULL == xhTCPPool)
258268 {
259269 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动TCP线程池服务失败,错误:%lX" ), ManagePool_GetLastError ());
260- goto NETSERVICEEXIT ;
270+ goto XENGINE_APPEXIST ;
261271 }
262272 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动TCP线程池服务成功,启动个数:%d" ), st_ServiceCfg.st_XMax .nTCPThread );
263273 }
@@ -272,15 +282,15 @@ int main(int argc, char** argv)
272282 if (NULL == xhHTTPPacket)
273283 {
274284 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务器中,初始化HTTP组包失败,错误:%lX" ), HttpProtocol_GetLastError ());
275- goto NETSERVICEEXIT ;
285+ goto XENGINE_APPEXIST ;
276286 }
277287 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化HTTP组包成功,IO线程个数:%d" ), st_ServiceCfg.st_XMax .nHttpThread );
278288
279289 xhHTTPSocket = NetCore_TCPXCore_StartEx (st_ServiceCfg.nHttpPort , st_ServiceCfg.st_XMax .nMaxClient , st_ServiceCfg.st_XMax .nIOThread );
280290 if (NULL == xhHTTPSocket)
281291 {
282292 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动HTTP网络服务器失败,错误:%lX" ), NetCore_GetLastError ());
283- goto NETSERVICEEXIT ;
293+ goto XENGINE_APPEXIST ;
284294 }
285295 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动HTTP网络服务器成功,HTTP端口:%d,IO:%d" ), st_ServiceCfg.nHttpPort , st_ServiceCfg.st_XMax .nIOThread );
286296 NetCore_TCPXCore_RegisterCallBackEx (xhHTTPSocket, MessageQueue_Callback_HttpLogin, MessageQueue_Callback_HttpRecv, MessageQueue_Callback_HttpLeave);
@@ -299,7 +309,7 @@ int main(int argc, char** argv)
299309 if (NULL == xhHttpPool)
300310 {
301311 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动HTTP线程池服务失败,错误:%lX" ), ManagePool_GetLastError ());
302- goto NETSERVICEEXIT ;
312+ goto XENGINE_APPEXIST ;
303313 }
304314 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动HTTP线程池服务成功,启动个数:%d" ), st_ServiceCfg.st_XMax .nHttpThread );
305315 }
@@ -314,15 +324,15 @@ int main(int argc, char** argv)
314324 if (NULL == xhWSPacket)
315325 {
316326 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务器中,初始化Websocket组包失败,错误:%lX" ), WSFrame_GetLastError ());
317- goto NETSERVICEEXIT ;
327+ goto XENGINE_APPEXIST ;
318328 }
319329 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化Websocket组包成功,IO线程个数:%d" ), st_ServiceCfg.st_XMax .nWSThread );
320330
321331 xhWSSocket = NetCore_TCPXCore_StartEx (st_ServiceCfg.nWSPort , st_ServiceCfg.st_XMax .nMaxClient , st_ServiceCfg.st_XMax .nIOThread );
322332 if (NULL == xhWSSocket)
323333 {
324334 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动Websocket网络服务器失败,错误:%lX" ), NetCore_GetLastError ());
325- goto NETSERVICEEXIT ;
335+ goto XENGINE_APPEXIST ;
326336 }
327337 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动Websocket网络服务器成功,Websocket端口:%d,IO:%d" ), st_ServiceCfg.nWSPort , st_ServiceCfg.st_XMax .nIOThread );
328338 NetCore_TCPXCore_RegisterCallBackEx (xhWSSocket, MessageQueue_Callback_WSLogin, MessageQueue_Callback_WSRecv, MessageQueue_Callback_WSLeave);
@@ -341,7 +351,7 @@ int main(int argc, char** argv)
341351 if (NULL == xhWSPool)
342352 {
343353 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动Websocket线程池服务失败,错误:%lX" ), ManagePool_GetLastError ());
344- goto NETSERVICEEXIT ;
354+ goto XENGINE_APPEXIST ;
345355 }
346356 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动Websocket线程池服务成功,启动个数:%d" ), st_ServiceCfg.st_XMax .nWSThread );
347357 }
@@ -355,15 +365,15 @@ int main(int argc, char** argv)
355365 if (!MQTTProtocol_Parse_Init (st_ServiceCfg.st_XMax .nMQTTThread ))
356366 {
357367 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动服务器中,初始化MQTT组包失败,错误:%lX" ), MQTTProtocol_GetLastError ());
358- goto NETSERVICEEXIT ;
368+ goto XENGINE_APPEXIST ;
359369 }
360370 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,初始化MQTT组包成功,IO线程个数:%d" ), st_ServiceCfg.st_XMax .nMQTTThread );
361371
362372 xhMQTTSocket = NetCore_TCPXCore_StartEx (st_ServiceCfg.nMQTTPort , st_ServiceCfg.st_XMax .nMaxClient , st_ServiceCfg.st_XMax .nMQTTThread );
363373 if (NULL == xhMQTTSocket)
364374 {
365375 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动MQTT网络服务器失败,错误:%lX" ), NetCore_GetLastError ());
366- goto NETSERVICEEXIT ;
376+ goto XENGINE_APPEXIST ;
367377 }
368378 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动MQTT网络服务器成功,MQTT端口:%d,IO:%d" ), st_ServiceCfg.nMQTTPort , st_ServiceCfg.st_XMax .nMQTTThread );
369379 NetCore_TCPXCore_RegisterCallBackEx (xhMQTTSocket, MessageQueue_Callback_MQTTLogin, MessageQueue_Callback_MQTTRecv, MessageQueue_Callback_MQTTLeave);
@@ -382,7 +392,7 @@ int main(int argc, char** argv)
382392 if (NULL == xhWSPool)
383393 {
384394 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 启动MQTT线程池服务失败,错误:%lX" ), ManagePool_GetLastError ());
385- goto NETSERVICEEXIT ;
395+ goto XENGINE_APPEXIST ;
386396 }
387397 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" 启动服务中,启动MQTT线程池服务成功,启动个数:%d" ), st_ServiceCfg.st_XMax .nMQTTThread );
388398 }
@@ -420,7 +430,7 @@ int main(int argc, char** argv)
420430 }
421431 std::this_thread::sleep_for (std::chrono::seconds (1 ));
422432 }
423- NETSERVICEEXIT :
433+ XENGINE_APPEXIST :
424434
425435 bIsRun = false ;
426436 if (bIsTest && 0 == nRet)
@@ -446,6 +456,7 @@ int main(int argc, char** argv)
446456 ManagePool_Thread_NQDestroy (xhHttpPool);
447457 ManagePool_Thread_NQDestroy (xhWSPool);
448458 ManagePool_Thread_NQDestroy (xhMQTTPool);
459+ ManagePool_Memory_Destory (xhMemPool);
449460
450461 DBModule_MQData_Destory ();
451462 DBModule_MQUser_Destory ();
0 commit comments