@@ -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