Skip to content

Commit 57d2ef5

Browse files
committed
improved:close client function
1 parent 66eab5c commit 57d2ef5

File tree

1 file changed

+75
-40
lines changed

1 file changed

+75
-40
lines changed

XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp

Lines changed: 75 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -177,60 +177,95 @@ BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, int nLeaveType, int nClient
177177
if (STORAGE_NETTYPE_HTTPUPLOADER == nClientType)
178178
{
179179
m_StrClient = _T("上传客户端");
180+
if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType)
181+
{
182+
lpszLeaveMsg = _T("心跳超时");
183+
NetCore_TCPXCore_CloseForClientEx(xhNetUPLoader, lpszClientAddr);
184+
}
185+
else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType)
186+
{
187+
lpszLeaveMsg = _T("被动断开");
188+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBUPLoader, lpszClientAddr);
189+
}
190+
else
191+
{
192+
lpszLeaveMsg = _T("主动关闭");
193+
NetCore_TCPXCore_CloseForClientEx(xhNetUPLoader, lpszClientAddr);
194+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBUPLoader, lpszClientAddr);
195+
}
196+
Session_UPStroage_Delete(lpszClientAddr);
197+
RfcComponents_HttpServer_CloseClinetEx(xhUPHttp, lpszClientAddr);
198+
OPenSsl_Server_CloseClientEx(xhUPSsl, lpszClientAddr);
180199
}
181200
else if (STORAGE_NETTYPE_HTTPDOWNLOAD == nClientType)
182201
{
183202
m_StrClient = _T("下载客户端");
203+
if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType)
204+
{
205+
lpszLeaveMsg = _T("心跳超时");
206+
NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr);
207+
}
208+
else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType)
209+
{
210+
lpszLeaveMsg = _T("被动断开");
211+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBDownload, lpszClientAddr);
212+
}
213+
else
214+
{
215+
lpszLeaveMsg = _T("主动关闭");
216+
NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr);
217+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBDownload, lpszClientAddr);
218+
}
219+
Session_DLStroage_Delete(lpszClientAddr);
220+
RfcComponents_HttpServer_CloseClinetEx(xhDLHttp, lpszClientAddr);
221+
OPenSsl_Server_CloseClientEx(xhDLSsl, lpszClientAddr);
184222
}
185223
else if (STORAGE_NETTYPE_HTTPCENTER == nClientType)
186224
{
187225
m_StrClient = _T("业务客户端");
226+
if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType)
227+
{
228+
lpszLeaveMsg = _T("心跳超时");
229+
NetCore_TCPXCore_CloseForClientEx(xhNetCenter, lpszClientAddr);
230+
}
231+
else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType)
232+
{
233+
lpszLeaveMsg = _T("被动断开");
234+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBCenter, lpszClientAddr);
235+
}
236+
else
237+
{
238+
lpszLeaveMsg = _T("主动关闭");
239+
240+
NetCore_TCPXCore_CloseForClientEx(xhNetCenter, lpszClientAddr);
241+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBCenter, lpszClientAddr);
242+
}
243+
RfcComponents_HttpServer_CloseClinetEx(xhCenterHttp, lpszClientAddr);
244+
OPenSsl_Server_CloseClientEx(xhCHSsl, lpszClientAddr);
188245
}
189246
else
190247
{
191248
m_StrClient = _T("P2XP客户端");
192-
P2XPPeer_Manage_Delete(lpszClientAddr);
193-
}
194-
195-
if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType)
196-
{
197-
lpszLeaveMsg = _T("心跳超时");
198-
NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr);
199-
NetCore_TCPXCore_CloseForClientEx(xhNetUPLoader, lpszClientAddr);
200-
NetCore_TCPXCore_CloseForClientEx(xhNetCenter, lpszClientAddr);
201-
NetCore_TCPXCore_CloseForClientEx(xhNetP2xp, lpszClientAddr);
202-
}
203-
else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType)
204-
{
205-
lpszLeaveMsg = _T("被动断开");
206-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBDownload, lpszClientAddr);
207-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBUPLoader, lpszClientAddr);
208-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBCenter, lpszClientAddr);
209-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBP2xp, lpszClientAddr);
210-
}
211-
else
212-
{
213-
lpszLeaveMsg = _T("主动关闭");
214-
NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr);
215-
NetCore_TCPXCore_CloseForClientEx(xhNetUPLoader, lpszClientAddr);
216-
NetCore_TCPXCore_CloseForClientEx(xhNetCenter, lpszClientAddr);
217-
NetCore_TCPXCore_CloseForClientEx(xhNetP2xp, lpszClientAddr);
249+
if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType)
250+
{
251+
lpszLeaveMsg = _T("心跳超时");
252+
NetCore_TCPXCore_CloseForClientEx(xhNetP2xp, lpszClientAddr);
253+
}
254+
else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType)
255+
{
256+
lpszLeaveMsg = _T("被动断开");
257+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBP2xp, lpszClientAddr);
258+
}
259+
else
260+
{
261+
lpszLeaveMsg = _T("主动关闭");
218262

219-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBDownload, lpszClientAddr);
220-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBUPLoader, lpszClientAddr);
221-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBCenter, lpszClientAddr);
222-
SocketOpt_HeartBeat_DeleteAddrEx(xhHBP2xp, lpszClientAddr);
263+
NetCore_TCPXCore_CloseForClientEx(xhNetP2xp, lpszClientAddr);
264+
SocketOpt_HeartBeat_DeleteAddrEx(xhHBP2xp, lpszClientAddr);
265+
}
266+
HelpComponents_Datas_DeleteEx(xhP2XPPacket, lpszClientAddr);
267+
P2XPPeer_Manage_Delete(lpszClientAddr);
223268
}
224-
225-
Session_UPStroage_Delete(lpszClientAddr);
226-
Session_DLStroage_Delete(lpszClientAddr);
227-
RfcComponents_HttpServer_CloseClinetEx(xhUPHttp, lpszClientAddr);
228-
RfcComponents_HttpServer_CloseClinetEx(xhDLHttp, lpszClientAddr);
229-
RfcComponents_HttpServer_CloseClinetEx(xhCenterHttp, lpszClientAddr);
230-
OPenSsl_Server_CloseClientEx(xhDLSsl, lpszClientAddr);
231-
OPenSsl_Server_CloseClientEx(xhUPSsl, lpszClientAddr);
232-
OPenSsl_Server_CloseClientEx(xhCHSsl, lpszClientAddr);
233-
HelpComponents_Datas_DeleteEx(xhP2XPPacket, lpszClientAddr);
234269
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("%s:%s,与服务器断开,原因:%s"), m_StrClient.c_str(), lpszClientAddr, lpszLeaveMsg);
235270
return TRUE;
236271
}

0 commit comments

Comments
 (0)