Skip to content

Commit b0f0d19

Browse files
committed
delete:socket timeout
modify:move session timeout to net.cpp
1 parent 912f007 commit b0f0d19

File tree

8 files changed

+10
-95
lines changed

8 files changed

+10
-95
lines changed

XEngine_Source/MQCore_ConfigModule/Config_Define.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,7 @@ typedef struct tag_XEngine_ServerConfig
3434
}st_XMax;
3535
struct
3636
{
37-
BOOL bHBTime;
3837
int nDBMonth;
39-
int nTimeCheck;
40-
int nTCPTimeOut;
41-
int nHttpTimeOut;
42-
int nWSTimeOut;
4338
int nSessionTime;
4439
}st_XTime;
4540
struct

XEngine_Source/MQCore_ConfigModule/Config_Json/Config_Json.cpp

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,19 +86,14 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile,XENGINE_SERVERCONFIG
8686
pSt_ServerConfig->st_XMax.nHttpThread = st_JsonXMax["nHttpThread"].asInt();
8787
pSt_ServerConfig->st_XMax.nWSThread = st_JsonXMax["nWSThread"].asInt();
8888

89-
if (st_JsonRoot["XTime"].empty() || (7 != st_JsonRoot["XTime"].size()))
89+
if (st_JsonRoot["XTime"].empty() || (2 != st_JsonRoot["XTime"].size()))
9090
{
9191
Config_IsErrorOccur = TRUE;
9292
Config_dwErrorCode = ERROR_MQ_MODULE_CONFIG_JSON_XTIME;
9393
return FALSE;
9494
}
9595
Json::Value st_JsonXTime = st_JsonRoot["XTime"];
96-
pSt_ServerConfig->st_XTime.bHBTime = st_JsonXTime["bHBTime"].asInt();
9796
pSt_ServerConfig->st_XTime.nDBMonth = st_JsonXTime["nDBMonth"].asInt();
98-
pSt_ServerConfig->st_XTime.nTimeCheck = st_JsonXTime["nTimeCheck"].asInt();
99-
pSt_ServerConfig->st_XTime.nTCPTimeOut = st_JsonXTime["nTCPTimeOut"].asInt();
100-
pSt_ServerConfig->st_XTime.nHttpTimeOut = st_JsonXTime["nHttpTimeOut"].asInt();
101-
pSt_ServerConfig->st_XTime.nWSTimeOut = st_JsonXTime["nWSTimeOut"].asInt();
10297
pSt_ServerConfig->st_XTime.nSessionTime = st_JsonXTime["nSessionTime"].asInt();
10398

10499
if (st_JsonRoot["XLog"].empty() || (3 != st_JsonRoot["XLog"].size()))

XEngine_Source/XEngine_MQServiceApp/MQService_Hdr.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,6 @@ extern XHANDLE xhTCPSocket;
6161
extern XHANDLE xhHTTPSocket;
6262
extern XHANDLE xhWSSocket;
6363

64-
extern XHANDLE xhTCPHeart;
65-
extern XHANDLE xhWSHeart;
66-
6764
extern XHANDLE xhTCPPacket;
6865
extern XHANDLE xhHTTPPacket;
6966
extern XHANDLE xhWSPacket;

XEngine_Source/XEngine_MQServiceApp/MQService_HttpTask.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,6 @@ XHTHREAD CALLBACK MessageQueue_HttpThread(LPVOID lParam)
4444
}
4545
return 0;
4646
}
47-
void CALLBACK MessageQueue_HttpTime(LPCSTR lpszSessionStr, LPVOID lParam)
48-
{
49-
XENGINE_PROTOCOL_USERINFO st_UserInfo;
50-
memset(&st_UserInfo, '\0', sizeof(XENGINE_PROTOCOL_USERINFO));
51-
if (SessionModule_Client_GetUser(lpszSessionStr, st_UserInfo.tszUserName))
52-
{
53-
DBModule_MQUser_UserUPDate(&st_UserInfo);
54-
}
55-
SessionModule_Client_Delete(lpszSessionStr);
56-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("HTTP消息端:%s,会话ID:%s,用户会话超时!"), st_UserInfo.tszUserName, lpszSessionStr);
57-
}
5847
BOOL MessageQueue_Http_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR** pptszListHdr, int nHdrCount)
5948
{
6049
LPCTSTR lpszMethod = _T("POST");
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#pragma once
22

33
XHTHREAD CALLBACK MessageQueue_HttpThread(LPVOID lParam);
4-
void CALLBACK MessageQueue_HttpTime(LPCSTR lpszSessionStr, LPVOID lParam);
54
BOOL MessageQueue_Http_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR** pptszListHdr, int nHdrCount);

XEngine_Source/XEngine_MQServiceApp/MQService_Net.cpp

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
//////////////////////////////////////////////////////////////////////////
33
BOOL __stdcall MessageQueue_Callback_TCPLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
44
{
5-
SocketOpt_HeartBeat_InsertAddrEx(xhTCPHeart, lpszClientAddr);
65
HelpComponents_Datas_CreateEx(xhTCPPacket, lpszClientAddr, 0);
76
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO,_T("TCP客户端连接,TCP客户端地址:%s"),lpszClientAddr);
87
return TRUE;
@@ -14,17 +13,12 @@ void __stdcall MessageQueue_Callback_TCPRecv(LPCTSTR lpszClientAddr, SOCKET hSoc
1413
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR,_T("投递TCP数据包到消息队列失败,错误:%lX"),Packets_GetLastError());
1514
return;
1615
}
17-
SocketOpt_HeartBeat_ActiveAddrEx(xhTCPHeart, lpszClientAddr);
1816
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("投递TCP数据包到消息队列成功,%d"), nMsgLen);
1917
}
2018
void __stdcall MessageQueue_Callback_TCPLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
2119
{
2220
XEngine_MQXService_Close(lpszClientAddr, XENGINE_MQAPP_NETTYPE_TCP, FALSE);
2321
}
24-
void __stdcall MessageQueue_Callback_TCPHeart(LPCSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
25-
{
26-
XEngine_MQXService_Close(lpszClientAddr, XENGINE_MQAPP_NETTYPE_TCP, TRUE);
27-
}
2822
//////////////////////////////////////////////////////////////////////////
2923
BOOL __stdcall MessageQueue_Callback_HttpLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
3024
{
@@ -47,7 +41,6 @@ void __stdcall MessageQueue_Callback_HttpLeave(LPCTSTR lpszClientAddr, SOCKET hS
4741
//////////////////////////////////////////////////////////////////////////
4842
BOOL __stdcall MessageQueue_Callback_WSLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
4943
{
50-
SocketOpt_HeartBeat_InsertAddrEx(xhWSHeart, lpszClientAddr);
5144
RfcComponents_WSPacket_CreateEx(xhWSPacket, lpszClientAddr, 0);
5245
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("Websocket客户端连接,Websocket客户端地址:%s"), lpszClientAddr);
5346
return TRUE;
@@ -63,7 +56,6 @@ void __stdcall MessageQueue_Callback_WSRecv(LPCTSTR lpszClientAddr, SOCKET hSock
6356
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("投递Websocket数据包到消息队列失败,错误:%lX"), WSFrame_GetLastError());
6457
return;
6558
}
66-
SocketOpt_HeartBeat_ActiveAddrEx(xhWSHeart, lpszClientAddr);
6759
}
6860
else
6961
{
@@ -81,42 +73,30 @@ void __stdcall MessageQueue_Callback_WSLeave(LPCTSTR lpszClientAddr, SOCKET hSoc
8173
{
8274
XEngine_MQXService_Close(lpszClientAddr, XENGINE_MQAPP_NETTYPE_WEBSOCKET, FALSE);
8375
}
84-
void __stdcall MessageQueue_Callback_WSHeart(LPCSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
76+
//////////////////////////////////////////////////////////////////////////
77+
void __stdcall MessageQueue_Callback_Timeout(LPCSTR lpszSessionStr, LPVOID lParam)
8578
{
86-
XEngine_MQXService_Close(lpszClientAddr, XENGINE_MQAPP_NETTYPE_WEBSOCKET, TRUE);
79+
XEngine_MQXService_Close(lpszSessionStr, XENGINE_MQAPP_NETTYPE_HTTP, TRUE);
8780
}
8881
//////////////////////////////////////////////////////////////////////////
8982
void XEngine_MQXService_Close(LPCTSTR lpszClientAddr, int nIPProto, BOOL bHeart)
9083
{
9184
if (XENGINE_MQAPP_NETTYPE_TCP == nIPProto)
9285
{
9386
HelpComponents_Datas_DeleteEx(xhTCPPacket, lpszClientAddr);
94-
if (bHeart)
95-
{
96-
NetCore_TCPXCore_CloseForClientEx(xhTCPSocket, lpszClientAddr);
97-
}
98-
else
99-
{
100-
SocketOpt_HeartBeat_DeleteAddrEx(xhTCPHeart, lpszClientAddr);
101-
}
87+
NetCore_TCPXCore_CloseForClientEx(xhTCPSocket, lpszClientAddr);
10288
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("TCP客户端离开,TCP客户端地址:%s"), lpszClientAddr);
10389
}
10490
else if (XENGINE_MQAPP_NETTYPE_WEBSOCKET == nIPProto)
10591
{
10692
RfcComponents_WSPacket_DeleteEx(xhWSPacket, lpszClientAddr);
107-
if (bHeart)
108-
{
109-
NetCore_TCPXCore_CloseForClientEx(xhWSSocket, lpszClientAddr);
110-
}
111-
else
112-
{
113-
SocketOpt_HeartBeat_DeleteAddrEx(xhWSHeart, lpszClientAddr);
114-
}
93+
NetCore_TCPXCore_CloseForClientEx(xhWSSocket, lpszClientAddr);;
11594
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("Websocket客户端离开,Websocket客户端地址:%s"), lpszClientAddr);
11695
}
11796
else
11897
{
11998
RfcComponents_HttpServer_CloseClinetEx(xhHTTPPacket, lpszClientAddr);
99+
NetCore_TCPXCore_CloseForClientEx(xhHTTPSocket, lpszClientAddr);;
120100
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("HTTP客户端离开,HTTP客户端地址:%s"), lpszClientAddr);
121101
}
122102
XENGINE_PROTOCOL_USERINFO st_UserInfo;
@@ -137,7 +117,6 @@ BOOL XEngine_MQXService_Send(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
137117
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("发送数据给TCP客户端:%s,失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError());
138118
return FALSE;
139119
}
140-
SocketOpt_HeartBeat_ActiveAddrEx(xhTCPHeart, lpszClientAddr);
141120
}
142121
else if (XENGINE_MQAPP_NETTYPE_HTTP == nIPProto)
143122
{
@@ -170,7 +149,6 @@ BOOL XEngine_MQXService_Send(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
170149
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("发送数据给Websocket客户端:%s,失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError());
171150
return FALSE;
172151
}
173-
SocketOpt_HeartBeat_ActiveAddrEx(xhWSHeart, lpszClientAddr);
174152
}
175153
return TRUE;
176154
}

XEngine_Source/XEngine_MQServiceApp/MQService_Net.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
BOOL __stdcall MessageQueue_Callback_TCPLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); //用户连接
44
void __stdcall MessageQueue_Callback_TCPRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg,int nMsgLen,LPVOID lParam); //接受到数据
55
void __stdcall MessageQueue_Callback_TCPLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); //用户离开
6-
void __stdcall MessageQueue_Callback_TCPHeart(LPCSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam);
76

87
BOOL __stdcall MessageQueue_Callback_HttpLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
98
void __stdcall MessageQueue_Callback_HttpRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam);
@@ -12,7 +11,8 @@ void __stdcall MessageQueue_Callback_HttpLeave(LPCTSTR lpszClientAddr, SOCKET hS
1211
BOOL __stdcall MessageQueue_Callback_WSLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
1312
void __stdcall MessageQueue_Callback_WSRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam);
1413
void __stdcall MessageQueue_Callback_WSLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam);
15-
void __stdcall MessageQueue_Callback_WSHeart(LPCSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam);
14+
15+
void __stdcall MessageQueue_Callback_Timeout(LPCSTR lpszSessionStr, LPVOID lParam);
1616

1717
void XEngine_MQXService_Close(LPCTSTR lpszClientAddr, int nIPProto, BOOL bHeart);
1818
BOOL XEngine_MQXService_Send(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, int nIPProto);

XEngine_Source/XEngine_MQServiceApp/XEngine_MQServiceApp.cpp

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ XHANDLE xhTCPSocket = 0;
66
XHANDLE xhHTTPSocket = 0;
77
XHANDLE xhWSSocket = 0;
88

9-
XHANDLE xhTCPHeart = 0;
10-
XHANDLE xhWSHeart = 0;
11-
129
XHANDLE xhTCPPacket = NULL;
1310
XHANDLE xhHTTPPacket = NULL;
1411
XHANDLE xhWSPacket = NULL;
@@ -46,9 +43,6 @@ void ServiceApp_Stop(int signo)
4643
NetCore_TCPXCore_DestroyEx(xhHTTPSocket);
4744
NetCore_TCPXCore_DestroyEx(xhWSSocket);
4845

49-
SocketOpt_HeartBeat_DestoryEx(xhTCPHeart);
50-
SocketOpt_HeartBeat_DestoryEx(xhWSHeart);
51-
5246
ManagePool_Thread_NQDestroy(xhTCPPool);
5347
ManagePool_Thread_NQDestroy(xhHttpPool);
5448
ManagePool_Thread_NQDestroy(xhWSPool);
@@ -156,7 +150,7 @@ int main(int argc, char** argv)
156150
}
157151
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化数据库服务成功"));
158152

159-
if (!SessionModule_Client_Init(st_ServiceCfg.st_XTime.nSessionTime, MessageQueue_HttpTime))
153+
if (!SessionModule_Client_Init(st_ServiceCfg.st_XTime.nSessionTime, MessageQueue_Callback_Timeout))
160154
{
161155
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("初始化客户端会话管理器失败,错误:%lX"), SessionModule_GetLastError());
162156
goto NETSERVICEEXIT;
@@ -173,21 +167,6 @@ int main(int argc, char** argv)
173167
goto NETSERVICEEXIT;
174168
}
175169
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动TCP组包器成功"));
176-
//启动心跳
177-
if (st_ServiceCfg.st_XTime.bHBTime)
178-
{
179-
xhTCPHeart = SocketOpt_HeartBeat_InitEx(st_ServiceCfg.st_XTime.nTCPTimeOut, st_ServiceCfg.st_XTime.nTimeCheck, MessageQueue_Callback_TCPHeart);
180-
if (NULL == xhTCPHeart)
181-
{
182-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("初始化TCP心跳服务失败,错误:%lX"), NetCore_GetLastError());
183-
goto NETSERVICEEXIT;
184-
}
185-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化TCP心跳服务成功,句柄:%llu,时间:%d,次数:%d"), xhTCPHeart, st_ServiceCfg.st_XTime.nTCPTimeOut, st_ServiceCfg.st_XTime.nTimeCheck);
186-
}
187-
else
188-
{
189-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,TCP心跳服务被设置为不启用"));
190-
}
191170
//启动网络
192171
xhTCPSocket = NetCore_TCPXCore_StartEx(st_ServiceCfg.nTCPPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread);
193172
if (NULL == xhTCPSocket)
@@ -271,20 +250,6 @@ int main(int argc, char** argv)
271250
}
272251
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化Websocket组包成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nWSThread);
273252

274-
if (st_ServiceCfg.st_XTime.bHBTime)
275-
{
276-
xhWSHeart = SocketOpt_HeartBeat_InitEx(st_ServiceCfg.st_XTime.nWSTimeOut, st_ServiceCfg.st_XTime.nTimeCheck, MessageQueue_Callback_WSHeart);
277-
if (NULL == xhWSHeart)
278-
{
279-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("初始化Websocket心跳服务失败,错误:%lX"), NetCore_GetLastError());
280-
goto NETSERVICEEXIT;
281-
}
282-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化Websocket心跳服务成功,句柄:%llu,时间:%d,次数:%d"), xhTCPHeart, st_ServiceCfg.st_XTime.nWSTimeOut, st_ServiceCfg.st_XTime.nTimeCheck);
283-
}
284-
else
285-
{
286-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,Websocket心跳服务被设置为不启用"));
287-
}
288253
xhWSSocket = NetCore_TCPXCore_StartEx(st_ServiceCfg.nWSPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread);
289254
if (NULL == xhWSSocket)
290255
{
@@ -373,9 +338,6 @@ int main(int argc, char** argv)
373338
NetCore_TCPXCore_DestroyEx(xhHTTPSocket);
374339
NetCore_TCPXCore_DestroyEx(xhWSSocket);
375340

376-
SocketOpt_HeartBeat_DestoryEx(xhTCPHeart);
377-
SocketOpt_HeartBeat_DestoryEx(xhWSHeart);
378-
379341
ManagePool_Thread_NQDestroy(xhTCPPool);
380342
ManagePool_Thread_NQDestroy(xhHttpPool);
381343
ManagePool_Thread_NQDestroy(xhWSPool);

0 commit comments

Comments
 (0)