@@ -103,6 +103,31 @@ void XEngine_MQXService_Close(LPCTSTR lpszClientAddr, int nIPProto, BOOL bHeart)
103103 memset (&st_UserInfo, ' \0 ' , sizeof (XENGINE_PROTOCOL_USERINFO));
104104 if (SessionModule_Client_GetUser (lpszClientAddr, st_UserInfo.tszUserName ))
105105 {
106+ if (_tcslen (st_ServiceCfg.st_XPass .tszPassLogout ) > 0 )
107+ {
108+ int nSDLen = 0 ;
109+ int nHTTPCode = 0 ;
110+ TCHAR tszSDBuffer[1024 ];
111+ APIHELP_HTTPPARAMENT st_HTTPParament;
112+ XENGINE_PROTOCOL_USERAUTH st_ProtocolAuth;
113+
114+ memset (tszSDBuffer, ' \0 ' , sizeof (tszSDBuffer));
115+ memset (&st_HTTPParament, ' \0 ' , sizeof (APIHELP_HTTPPARAMENT));
116+ memset (&st_ProtocolAuth, ' \0 ' , sizeof (XENGINE_PROTOCOL_USERAUTH));
117+
118+ st_HTTPParament.nTimeConnect = 2 ;
119+
120+ ProtocolModule_Packet_PassAuth (&st_ProtocolAuth, tszSDBuffer, &nSDLen, XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSEROUT);
121+ APIHelp_HttpRequest_Custom (_T (" POST" ), st_ServiceCfg.st_XPass .tszPassLogout , tszSDBuffer, &nHTTPCode, NULL , NULL , NULL , NULL , &st_HTTPParament);
122+ if (200 == nHTTPCode)
123+ {
124+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" %s客户端:%s,请求远程关闭连接失败,错误:%lX,HTTPCode:%d" ), nIPProto, lpszClientAddr, APIHelp_GetLastError (), nHTTPCode);
125+ }
126+ else
127+ {
128+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" %s客户端:%s,请求远程关闭连接失败,错误:%lX,HTTPCode:%d" ), nIPProto, lpszClientAddr, APIHelp_GetLastError (), nHTTPCode);
129+ }
130+ }
106131 DBModule_MQUser_UserUPDate (&st_UserInfo);
107132 }
108133 SessionModule_Notify_DelClient (lpszClientAddr);
0 commit comments