Skip to content

Commit f9d3fdf

Browse files
committed
Add business processing code .use center as a Codename
center network and threadpool are supported
1 parent 993902f commit f9d3fdf

File tree

8 files changed

+168
-18
lines changed

8 files changed

+168
-18
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#include "StorageApp_Hdr.h"
2+
3+
XHTHREAD CALLBACK XEngine_Center_HTTPThread(LPVOID lParam)
4+
{
5+
int nThreadPos = *(int*)lParam;
6+
TCHAR tszMsgBuffer[10240];
7+
nThreadPos++;
8+
9+
while (bIsRun)
10+
{
11+
//等待指定线程事件触发
12+
if (RfcComponents_HttpServer_EventWaitEx(xhCenterHttp, nThreadPos))
13+
{
14+
int nListCount = 0;
15+
RFCCOMPONENTS_HTTP_REQPARAM st_HTTPParam;
16+
RFCCOMPONENTS_HTTP_PKTCLIENT** ppSt_PKTClient;
17+
18+
memset(&st_HTTPParam, '\0', sizeof(RFCCOMPONENTS_HTTP_REQPARAM));
19+
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
20+
//获取当前队列池中所有触发上传客户端
21+
RfcComponents_HttpServer_GetPoolEx(xhCenterHttp, nThreadPos, &ppSt_PKTClient, &nListCount);
22+
for (int i = 0; i < nListCount; i++)
23+
{
24+
for (int j = 0; j < ppSt_PKTClient[i]->nPktCount; j++)
25+
{
26+
int nMsgLen = 10240;
27+
//获得指定上传客户端触发信息
28+
if (RfcComponents_HttpServer_GetClientEx(xhCenterHttp, ppSt_PKTClient[i]->tszClientAddr, tszMsgBuffer, &nMsgLen, &st_HTTPParam))
29+
{
30+
XEngine_Task_HttpCenter(ppSt_PKTClient[i]->tszClientAddr, tszMsgBuffer, nMsgLen, &st_HTTPParam);
31+
}
32+
}
33+
}
34+
BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_PKTClient, nListCount);
35+
}
36+
}
37+
return 0;
38+
}
39+
BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam)
40+
{
41+
int nSDLen = 2048;
42+
TCHAR tszSDBuffer[2048];
43+
RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam;
44+
45+
memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
46+
memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM));
47+
48+
LPCTSTR lpszMethodName = _T("POST");
49+
if (0 != _tcsncmp(lpszMethodName, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodName)))
50+
{
51+
st_HDRParam.bIsClose = TRUE;
52+
st_HDRParam.nHttpCode = 405;
53+
54+
RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
55+
XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER);
56+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,发送的方法不支持"), lpszClientAddr);
57+
return FALSE;
58+
}
59+
60+
return TRUE;
61+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#pragma once
2+
3+
XHTHREAD CALLBACK XEngine_Center_HTTPThread(LPVOID lParam);
4+
BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam);

XEngine_Source/XEngine_StorageApp/StorageApp_Hdr.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ using namespace std;
4747

4848
#define STORAGE_NETTYPE_HTTPUPLOADER 1
4949
#define STORAGE_NETTYPE_HTTPDOWNLOAD 2
50+
#define STORAGE_NETTYPE_HTTPCENTER 3
5051

5152
extern BOOL bIsRun;
5253
extern XLOG xhLog;
@@ -55,11 +56,14 @@ extern XNETHANDLE xhHBDownload;
5556
extern XNETHANDLE xhHBUPLoader;
5657
extern XNETHANDLE xhNetDownload;
5758
extern XNETHANDLE xhNetUPLoader;
59+
extern XNETHANDLE xhNetCenter;
5860
extern XNETHANDLE xhUPPool;
5961
extern XNETHANDLE xhDLPool;
6062
extern XNETHANDLE xhSDPool;
63+
extern XNETHANDLE xhCTPool;
6164
extern XHANDLE xhUPHttp;
6265
extern XHANDLE xhDLHttp;
66+
extern XHANDLE xhCenterHttp;
6367

6468
extern XENGINE_SERVERCONFIG st_ServiceCfg;
6569

@@ -68,6 +72,7 @@ extern XENGINE_SERVERCONFIG st_ServiceCfg;
6872
#include "StorageApp_Config.h"
6973
#include "StorageApp_Download.h"
7074
#include "StorageApp_UPLoader.h"
75+
#include "StorageApp_Center.h"
7176

7277
#ifdef _WINDOWS
7378
#pragma comment(lib,"Ws2_32.lib")

XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ void CALLBACK XEngine_Callback_DownloadRecv(LPCTSTR lpszClientAddr, SOCKET hSock
1919
}
2020
void CALLBACK XEngine_Callback_DownloadLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
2121
{
22-
XEngine_Net_CloseClient(lpszClientAddr, FALSE, FALSE);
22+
XEngine_Net_CloseClient(lpszClientAddr, FALSE, STORAGE_NETTYPE_HTTPDOWNLOAD);
2323
}
24+
//////////////////////////////////////////////////////////////////////////
2425
BOOL CALLBACK XEngine_Callback_UPLoaderLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
2526
{
2627
RfcComponents_HttpServer_CreateClientEx(xhUPHttp, lpszClientAddr, 0);
@@ -41,23 +42,56 @@ void CALLBACK XEngine_Callback_UPLoaderRecv(LPCTSTR lpszClientAddr, SOCKET hSock
4142
}
4243
void CALLBACK XEngine_Callback_UPLoaderLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
4344
{
44-
XEngine_Net_CloseClient(lpszClientAddr, FALSE, TRUE);
45+
XEngine_Net_CloseClient(lpszClientAddr, FALSE, STORAGE_NETTYPE_HTTPUPLOADER);
46+
}
47+
//////////////////////////////////////////////////////////////////////////
48+
BOOL CALLBACK XEngine_Callback_CenterLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
49+
{
50+
RfcComponents_HttpServer_CreateClientEx(xhUPHttp, lpszClientAddr, 0);
51+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,进入了服务器"), lpszClientAddr);
52+
return TRUE;
53+
}
54+
void CALLBACK XEngine_Callback_CenterRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam)
55+
{
56+
if (!RfcComponents_HttpServer_InserQueueEx(xhCenterHttp, lpszClientAddr, lpszRecvMsg, nMsgLen))
57+
{
58+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError());
59+
return;
60+
}
61+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("业务客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen);
62+
}
63+
void CALLBACK XEngine_Callback_CenterLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
64+
{
65+
XEngine_Net_CloseClient(lpszClientAddr, FALSE, STORAGE_NETTYPE_HTTPCENTER);
4566
}
4667
//////////////////////////////////////////////////////////////////////////
4768
void CALLBACK XEngine_Callback_HBDownload(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
4869
{
49-
XEngine_Net_CloseClient(lpszClientAddr, TRUE);
70+
XEngine_Net_CloseClient(lpszClientAddr, TRUE, STORAGE_NETTYPE_HTTPDOWNLOAD);
5071
}
5172
void CALLBACK XEngine_Callback_HBUPLoader(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
5273
{
53-
XEngine_Net_CloseClient(lpszClientAddr, TRUE);
74+
XEngine_Net_CloseClient(lpszClientAddr, TRUE, STORAGE_NETTYPE_HTTPUPLOADER);
5475
}
5576
//////////////////////////////////////////////////////////////////////////
56-
BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, BOOL bHBLeave, BOOL bUP)
77+
BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, BOOL bHBLeave, int nType)
5778
{
5879
LPCTSTR lpszLeaveMsg = bHBLeave ? _T("心跳超时") : _T("主动断开");
59-
LPCTSTR lpszClientType = bUP ? _T("上传客户端") : _T("下载客户端");
80+
tstring m_StrClient;
6081

82+
if (STORAGE_NETTYPE_HTTPUPLOADER == nType)
83+
{
84+
m_StrClient = _T("上传客户端");
85+
}
86+
else if (STORAGE_NETTYPE_HTTPDOWNLOAD == nType)
87+
{
88+
m_StrClient = _T("下载客户端");
89+
}
90+
else
91+
{
92+
m_StrClient = _T("业务客户端");
93+
}
94+
6195
if (bHBLeave)
6296
{
6397
NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr);
@@ -72,7 +106,8 @@ BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, BOOL bHBLeave, BOOL bUP)
72106
Session_DLStroage_Delete(lpszClientAddr);
73107
RfcComponents_HttpServer_CloseClinetEx(xhUPHttp, lpszClientAddr);
74108
RfcComponents_HttpServer_CloseClinetEx(xhDLHttp, lpszClientAddr);
75-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("%s:%s,与服务器断开,原因:%s"), lpszClientType, lpszClientAddr, lpszLeaveMsg);
109+
RfcComponents_HttpServer_CloseClinetEx(xhCenterHttp, lpszClientAddr);
110+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("%s:%s,与服务器断开,原因:%s"), m_StrClient.c_str(), lpszClientAddr, lpszLeaveMsg);
76111
return TRUE;
77112
}
78113
///////////////////////////////////////////////////////////////////////////////////

XEngine_Source/XEngine_StorageApp/StorageApp_Network.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,12 @@ void CALLBACK XEngine_Callback_DownloadLeave(LPCTSTR lpszClientAddr, SOCKET hSoc
66
BOOL CALLBACK XEngine_Callback_UPLoaderLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
77
void CALLBACK XEngine_Callback_UPLoaderRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam);
88
void CALLBACK XEngine_Callback_UPLoaderLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
9+
BOOL CALLBACK XEngine_Callback_CenterLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
10+
void CALLBACK XEngine_Callback_CenterRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam);
11+
void CALLBACK XEngine_Callback_CenterLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
912

1013
void CALLBACK XEngine_Callback_HBDownload(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam);
1114
void CALLBACK XEngine_Callback_HBUPLoader(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam);
1215

13-
BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, BOOL bHBLeave, BOOL bUP = TRUE);
16+
BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, BOOL bHBLeave, int nType = STORAGE_NETTYPE_HTTPDOWNLOAD);
1417
BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, int nType = STORAGE_NETTYPE_HTTPDOWNLOAD);

XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.cpp

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@ XNETHANDLE xhHBDownload = 0;
77
XNETHANDLE xhHBUPLoader = 0;
88
XNETHANDLE xhNetDownload = 0;
99
XNETHANDLE xhNetUPLoader = 0;
10+
XNETHANDLE xhNetCenter = 0;
1011
XNETHANDLE xhUPPool = 0;
1112
XNETHANDLE xhDLPool = 0;
1213
XNETHANDLE xhSDPool = 0;
14+
XNETHANDLE xhCTPool = 0;
1315
XHANDLE xhUPHttp = NULL;
1416
XHANDLE xhDLHttp = NULL;
17+
XHANDLE xhCenterHttp = NULL;
1518

1619
XENGINE_SERVERCONFIG st_ServiceCfg;
1720

@@ -21,27 +24,22 @@ void ServiceApp_Stop(int signo)
2124
{
2225
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("存储中心服务器退出..."));
2326
bIsRun = FALSE;
24-
printf("1\n");
2527
RfcComponents_HttpServer_DestroyEx(xhUPHttp);
2628
RfcComponents_HttpServer_DestroyEx(xhDLHttp);
27-
printf("2\n");
29+
RfcComponents_HttpServer_DestroyEx(xhCenterHttp);
2830
NetCore_TCPXCore_DestroyEx(xhNetDownload);
2931
NetCore_TCPXCore_DestroyEx(xhNetUPLoader);
30-
printf("3\n");
32+
NetCore_TCPXCore_DestroyEx(xhNetCenter);
3133
SocketOpt_HeartBeat_DestoryEx(xhHBDownload);
3234
SocketOpt_HeartBeat_DestoryEx(xhHBUPLoader);
33-
printf("4\n");
3435
ManagePool_Thread_NQDestroy(xhUPPool);
3536
ManagePool_Thread_NQDestroy(xhDLPool);
3637
ManagePool_Thread_NQDestroy(xhSDPool);
37-
printf("5\n");
38+
ManagePool_Thread_NQDestroy(xhCTPool);
3839
HelpComponents_XLog_Destroy(xhLog);
39-
printf("6\n");
4040
Session_DLStroage_Destory();
4141
Session_UPStroage_Destory();
42-
printf("7\n");
4342
XStorageSQL_Destory();
44-
printf("8\n");
4543
exit(0);
4644
}
4745
}
@@ -90,6 +88,7 @@ int main(int argc, char** argv)
9088
THREADPOOL_PARAMENT** ppSt_ListUPThread;
9189
THREADPOOL_PARAMENT** ppSt_ListDLThread;
9290
THREADPOOL_PARAMENT** ppSt_ListSDThread;
91+
THREADPOOL_PARAMENT** ppSt_ListCTThread;
9392

9493
memset(&st_XLogConfig, '\0', sizeof(HELPCOMPONENTS_XLOG_CONFIGURE));
9594
memset(&st_ServiceCfg, '\0', sizeof(XENGINE_SERVERCONFIG));
@@ -163,6 +162,13 @@ int main(int argc, char** argv)
163162
goto XENGINE_EXITAPP;
164163
}
165164
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化HTTP上传服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nStorageUPThread);
165+
xhCenterHttp = RfcComponents_HttpServer_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nCenterThread);
166+
if (NULL == xhCenterHttp)
167+
{
168+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务器中,初始化HTTP业务服务失败,错误:%lX"), HttpServer_GetLastError());
169+
goto XENGINE_EXITAPP;
170+
}
171+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化HTTP业务服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nCenterThread);
166172

167173
if (!NetCore_TCPXCore_StartEx(&xhNetDownload, st_ServiceCfg.nStorageDLPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread))
168174
{
@@ -182,6 +188,15 @@ int main(int argc, char** argv)
182188
NetCore_TCPXCore_RegisterCallBackEx(xhNetUPLoader, XEngine_Callback_UPLoaderLogin, XEngine_Callback_UPLoaderRecv, XEngine_Callback_UPLoaderLeave);
183189
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,注册上传存储网络服务事件成功!"));
184190

191+
if (!NetCore_TCPXCore_StartEx(&xhNetCenter, st_ServiceCfg.nCenterPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread))
192+
{
193+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务器中,启动业务控制存储网络服务失败,端口:%d,错误:%lX"), st_ServiceCfg.nCenterPort, NetCore_GetLastError());
194+
goto XENGINE_EXITAPP;
195+
}
196+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动业务控制存储网络服务成功,句柄:%llu,端口:%d,IO线程个数:%d"), xhNetCenter, st_ServiceCfg.nCenterPort, st_ServiceCfg.st_XMax.nIOThread);
197+
NetCore_TCPXCore_RegisterCallBackEx(xhNetCenter, XEngine_Callback_UPLoaderLogin, XEngine_Callback_UPLoaderRecv, XEngine_Callback_UPLoaderLeave);
198+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,注册业务控制存储存储网络服务事件成功!"));
199+
185200
if (!Session_DLStroage_Init(st_ServiceCfg.st_XMax.nStorageDLThread))
186201
{
187202
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务器中,启动下载会话服务失败,错误:%lX"), Session_GetLastError());
@@ -198,6 +213,7 @@ int main(int argc, char** argv)
198213
BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListDLThread, st_ServiceCfg.st_XMax.nStorageDLThread, sizeof(THREADPOOL_PARAMENT));
199214
BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListSDThread, st_ServiceCfg.st_XMax.nStorageDLThread, sizeof(THREADPOOL_PARAMENT));
200215
BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListUPThread, st_ServiceCfg.st_XMax.nStorageUPThread, sizeof(THREADPOOL_PARAMENT));
216+
BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListCTThread, st_ServiceCfg.st_XMax.nCenterThread, sizeof(THREADPOOL_PARAMENT));
201217
for (int i = 0; i < st_ServiceCfg.st_XMax.nStorageDLThread; i++)
202218
{
203219
int* pInt_Pos = new int;
@@ -237,6 +253,21 @@ int main(int argc, char** argv)
237253
}
238254
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动HTTP上传任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread);
239255

256+
for (int i = 0; i < st_ServiceCfg.st_XMax.nCenterThread; i++)
257+
{
258+
int* pInt_Pos = new int;
259+
*pInt_Pos = i;
260+
261+
ppSt_ListCTThread[i]->lParam = pInt_Pos;
262+
ppSt_ListCTThread[i]->fpCall_ThreadsTask = XEngine_Center_HTTPThread;
263+
}
264+
if (!ManagePool_Thread_NQCreate(&xhCTPool, &ppSt_ListCTThread, st_ServiceCfg.st_XMax.nCenterThread))
265+
{
266+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动HTTP业务处理线程池失败,错误:%d"), errno);
267+
goto XENGINE_EXITAPP;
268+
}
269+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动HTTP业务任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nCenterThread);
270+
240271
m_StrVersion = st_ServiceCfg.st_XVer.pStl_ListStorage->front();
241272
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("所有服务成功启动,存储中心服务运行中,发行版本次数:%d,当前运行版本:%s。。。"), st_ServiceCfg.st_XVer.pStl_ListStorage->size(), m_StrVersion.c_str());
242273

@@ -252,15 +283,18 @@ int main(int argc, char** argv)
252283
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("存储中心服务关闭,服务器退出..."));
253284
bIsRun = FALSE;
254285

286+
RfcComponents_HttpServer_DestroyEx(xhUPHttp);
287+
RfcComponents_HttpServer_DestroyEx(xhDLHttp);
288+
RfcComponents_HttpServer_DestroyEx(xhCenterHttp);
255289
NetCore_TCPXCore_DestroyEx(xhNetDownload);
256290
NetCore_TCPXCore_DestroyEx(xhNetUPLoader);
291+
NetCore_TCPXCore_DestroyEx(xhNetCenter);
257292
SocketOpt_HeartBeat_DestoryEx(xhHBDownload);
258293
SocketOpt_HeartBeat_DestoryEx(xhHBUPLoader);
259-
RfcComponents_HttpServer_DestroyEx(xhUPHttp);
260-
RfcComponents_HttpServer_DestroyEx(xhDLHttp);
261294
ManagePool_Thread_NQDestroy(xhUPPool);
262295
ManagePool_Thread_NQDestroy(xhDLPool);
263296
ManagePool_Thread_NQDestroy(xhSDPool);
297+
ManagePool_Thread_NQDestroy(xhCTPool);
264298
HelpComponents_XLog_Destroy(xhLog);
265299
Session_DLStroage_Destory();
266300
Session_UPStroage_Destory();

XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@
142142
</Link>
143143
</ItemDefinitionGroup>
144144
<ItemGroup>
145+
<ClCompile Include="StorageApp_Center.cpp" />
145146
<ClCompile Include="StorageApp_Config.cpp" />
146147
<ClCompile Include="StorageApp_Download.cpp" />
147148
<ClCompile Include="StorageApp_Network.cpp" />
@@ -150,6 +151,7 @@
150151
<ClCompile Include="XEngine_StorageApp.cpp" />
151152
</ItemGroup>
152153
<ItemGroup>
154+
<ClInclude Include="StorageApp_Center.h" />
153155
<ClInclude Include="StorageApp_Config.h" />
154156
<ClInclude Include="StorageApp_Download.h" />
155157
<ClInclude Include="StorageApp_Hdr.h" />

XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
<ClCompile Include="StorageApp_UPLoader.cpp">
3434
<Filter>源文件</Filter>
3535
</ClCompile>
36+
<ClCompile Include="StorageApp_Center.cpp">
37+
<Filter>源文件</Filter>
38+
</ClCompile>
3639
</ItemGroup>
3740
<ItemGroup>
3841
<ClInclude Include="StorageApp_Config.h">
@@ -53,5 +56,8 @@
5356
<ClInclude Include="StorageApp_UPLoader.h">
5457
<Filter>头文件</Filter>
5558
</ClInclude>
59+
<ClInclude Include="StorageApp_Center.h">
60+
<Filter>头文件</Filter>
61+
</ClInclude>
5662
</ItemGroup>
5763
</Project>

0 commit comments

Comments
 (0)