@@ -110,11 +110,18 @@ bool MessageQueue_HttpTask_Post(LPCXSTR lpszClientAddr, LPCXSTR lpszFuncName, LP
110110 int nListCount = 0 ;
111111 XCHAR** pptszListAddr;
112112
113- ProtocolModule_Parse_Type (lpszMsgBuffer, nMsgLen, &nType);
113+ if (!ProtocolModule_Parse_Type (lpszMsgBuffer, nMsgLen, &nType))
114+ {
115+ ProtocolModule_Packet_Http (tszSDBuffer, &nSDLen, ERROR_XENGINE_MESSAGE_HTTP_PARSE, _X (" json load parse is failure" ));
116+ XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
117+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,请求获取在线用户失败,负载内容错误:%s" ), lpszClientAddr, lpszMsgBuffer);
118+ return false ;
119+ }
114120 SessionModule_Client_GetListAddr (&pptszListAddr, &nListCount, nType);
115121 ProtocolModule_Packet_OnlineList (tszSDBuffer, &nSDLen, &pptszListAddr, nListCount);
116122 BaseLib_Memory_Free ((XPPPMEM)&pptszListAddr, nListCount);
117123 XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
124+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" HTTP消息端:%s,获取在线列表信息成功,在线用户数:%d" ), lpszClientAddr, nListCount);
118125 }
119126 else if (0 == _tcsxncmp (lpszAPIGetNumber, lpszFuncName, _tcsxlen (lpszAPIGetNumber)))
120127 {
@@ -145,19 +152,24 @@ bool MessageQueue_HttpTask_Post(LPCXSTR lpszClientAddr, LPCXSTR lpszFuncName, LP
145152 ProtocolModule_Packet_MQNumber (tszSDBuffer, &nSDLen, &st_MQNumber);
146153 XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
147154 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" HTTP消息端:%s,获取主题序列编号成功,主题名称:%s,队列个数:%lld,开始编号:%lld,结尾编号:%lld" ), lpszClientAddr, st_MQNumber.tszMQKey , st_MQNumber.nCount , st_MQNumber.nFirstNumber , st_MQNumber.nLastNumber );
148-
149- XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
150155 }
151156 else if (0 == _tcsxncmp (lpszAPIGetTopic, lpszFuncName, _tcsxlen (lpszAPIGetTopic)))
152157 {
153158 // 主题 http://127.0.0.1:5202/api?function=gettopic
154159 int nDBCount = 0 ;
155160 XENGINE_PROTOCOL_XMQ st_MQProtocol = {};
156161
157- ProtocolModule_Parse_XMQ (lpszMsgBuffer, nMsgLen, &st_MQProtocol);
162+ if (!ProtocolModule_Parse_XMQ (lpszMsgBuffer, nMsgLen, &st_MQProtocol))
163+ {
164+ ProtocolModule_Packet_Http (tszSDBuffer, &nSDLen, ERROR_XENGINE_MESSAGE_HTTP_PARSE, _X (" json load parse is failure" ));
165+ XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
166+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,请求获取主题信息失败,负载内容错误:%s" ), lpszClientAddr, lpszMsgBuffer);
167+ return false ;
168+ }
158169 DBModule_MQData_GetLeftCount (st_MQProtocol.tszMQKey , 0 , &nDBCount);
159170 ProtocolModule_Packet_TopicName (tszSDBuffer, &nSDLen, st_MQProtocol.tszMQKey , nDBCount);
160171 XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
172+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X (" HTTP消息端:%s,获取主题信息成功,主题名称:%s" ), lpszClientAddr, st_MQProtocol.tszMQKey );
161173 }
162174 else if (0 == _tcsxncmp (lpszAPIGetList, lpszFuncName, _tcsxlen (lpszAPIGetList)))
163175 {
@@ -233,7 +245,13 @@ bool MessageQueue_HttpTask_Post(LPCXSTR lpszClientAddr, LPCXSTR lpszFuncName, LP
233245 XENGINE_DBTIMERELEASE st_DBInfo = {};
234246 XENGINE_PROTOCOL_XMQ st_MQProtocol = {};
235247
236- ProtocolModule_Parse_XMQ (lpszMsgBuffer, nMsgLen, &st_MQProtocol);
248+ if (!ProtocolModule_Parse_XMQ (lpszMsgBuffer, nMsgLen, &st_MQProtocol))
249+ {
250+ ProtocolModule_Packet_Http (tszSDBuffer, &nSDLen, ERROR_XENGINE_MESSAGE_HTTP_PARSE, _X (" json load parse is failure" ));
251+ XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
252+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,请求删除主题失败,负载内容错误:%s" ), lpszClientAddr, lpszMsgBuffer);
253+ return false ;
254+ }
237255
238256 _tcsxcpy (st_DBOwner.tszUserName , st_MQProtocol.tszMQUsr );
239257 _tcsxcpy (st_DBOwner.tszQueueName , st_MQProtocol.tszMQKey );
@@ -270,7 +288,13 @@ bool MessageQueue_HttpTask_Post(LPCXSTR lpszClientAddr, LPCXSTR lpszFuncName, LP
270288 XENGINE_PROTOCOL_XMQ st_MQProtocol = {};
271289 XENGINE_DBMESSAGEQUEUE st_MessageQueue = {};
272290
273- ProtocolModule_Parse_XMQ (lpszMsgBuffer, nMsgLen, &st_MQProtocol);
291+ if (!ProtocolModule_Parse_XMQ (lpszMsgBuffer, nMsgLen, &st_MQProtocol))
292+ {
293+ ProtocolModule_Packet_Http (tszSDBuffer, &nSDLen, ERROR_XENGINE_MESSAGE_HTTP_PARSE, _X (" json load parse is failure" ));
294+ XEngine_MQXService_Send (lpszClientAddr, tszSDBuffer, nSDLen, XENGINE_MQAPP_NETTYPE_HTTP);
295+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" HTTP客户端:%s,请求删除消息失败,负载内容错误:%s" ), lpszClientAddr, lpszMsgBuffer);
296+ return false ;
297+ }
274298
275299 if (st_MQProtocol.nSerial <= 0 )
276300 {
0 commit comments