@@ -69,7 +69,34 @@ void MQ_Authorize()
6969 }
7070 BaseLib_OperatorMemory_FreeCStyle ((XPPMEM)&ptszMsgBody);
7171}
72+ void MQ_UNRead ()
73+ {
74+ int nLen = 0 ;
75+ TCHAR tszMsgBuffer[2048 ];
76+ memset (tszMsgBuffer, ' \0 ' , sizeof (tszMsgBuffer));
77+
78+ Json::Value st_JsonRoot;
79+ Json::Value st_JsonMQProtocol;
80+ st_JsonRoot[" unOperatorType" ] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
81+ st_JsonRoot[" unOperatorCode" ] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUNREAD;
82+ st_JsonRoot[" byVersion" ] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
83+ st_JsonRoot[" xhToken" ] = xhToken;
84+
85+ st_JsonMQProtocol[" tszMQKey" ] = " " ; // 所有未读
86+ st_JsonRoot[" st_MQProtocol" ] = st_JsonMQProtocol;
87+
88+ nLen = st_JsonRoot.toStyledString ().length ();
89+ memcpy (tszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), nLen);
7290
91+ TCHAR* ptszMsgBody = NULL ;
92+ if (!APIHelp_HttpRequest_Custom (_T (" POST" ), lpszPostUrl, tszMsgBuffer, NULL , &ptszMsgBody))
93+ {
94+ printf (" 发送投递失败!\n " );
95+ return ;
96+ }
97+ printf (" MQ_Create:%s\n " , ptszMsgBody);
98+ BaseLib_OperatorMemory_FreeCStyle ((XPPMEM)&ptszMsgBody);
99+ }
73100void MQ_Create ()
74101{
75102 int nLen = 0 ;
@@ -198,6 +225,110 @@ void MQ_Get()
198225 printf (" MQ_Get:%s\n " , ptszMsgBody);
199226 BaseLib_OperatorMemory_FreeCStyle ((XPPMEM)&ptszMsgBody);
200227}
228+ void MQ_ModifyMsg ()
229+ {
230+ int nLen = 0 ;
231+ TCHAR tszMsgBuffer[2048 ];
232+ memset (tszMsgBuffer, ' \0 ' , sizeof (tszMsgBuffer));
233+
234+ Json::Value st_JsonRoot;
235+ Json::Value st_JsonMQProtocol;
236+ Json::Value st_JsonPayload;
237+ st_JsonRoot[" unOperatorType" ] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
238+ st_JsonRoot[" unOperatorCode" ] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQMSGMODIFY;
239+ st_JsonRoot[" byVersion" ] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
240+ st_JsonRoot[" xhToken" ] = xhToken;
241+
242+ st_JsonMQProtocol[" tszMQKey" ] = lpszKey;
243+ st_JsonMQProtocol[" nSerial" ] = 1 ; // 序列号,0服务会自动处理
244+ st_JsonMQProtocol[" nKeepTime" ] = -1 ;
245+ st_JsonMQProtocol[" nGetTimer" ] = 0 ;
246+
247+ st_JsonPayload[" nPayType" ] = 0 ;
248+ st_JsonPayload[" nPayLen" ] = 6 ;
249+ st_JsonPayload[" tszPayData" ] = " modify" ;
250+
251+ st_JsonRoot[" st_MQProtocol" ] = st_JsonMQProtocol;
252+ st_JsonRoot[" st_Payload" ] = st_JsonPayload;
253+
254+ st_JsonRoot[" st_MQProtocol" ] = st_JsonMQProtocol;
255+
256+ nLen = st_JsonRoot.toStyledString ().length ();
257+ memcpy (tszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), nLen);
258+
259+ TCHAR* ptszMsgBody = NULL ;
260+ if (!APIHelp_HttpRequest_Custom (_T (" POST" ), lpszPostUrl, tszMsgBuffer, NULL , &ptszMsgBody))
261+ {
262+ printf (" 发送投递失败!\n " );
263+ return ;
264+ }
265+ printf (" MQ_ModifyMsg:%s\n " , ptszMsgBody);
266+ BaseLib_OperatorMemory_FreeCStyle ((XPPMEM)&ptszMsgBody);
267+ }
268+ void MQ_ModifyTopic ()
269+ {
270+ int nLen = 0 ;
271+ TCHAR tszMsgBuffer[2048 ];
272+ memset (tszMsgBuffer, ' \0 ' , sizeof (tszMsgBuffer));
273+
274+ Json::Value st_JsonRoot;
275+ Json::Value st_JsonMQProtocol;
276+ Json::Value st_JsonPayload;
277+ st_JsonRoot[" unOperatorType" ] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
278+ st_JsonRoot[" unOperatorCode" ] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICMODIFY;
279+ st_JsonRoot[" byVersion" ] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
280+ st_JsonRoot[" xhToken" ] = xhToken;
281+
282+ st_JsonMQProtocol[" tszMQKey" ] = lpszKey;
283+
284+ st_JsonPayload[" nPayType" ] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_STRING;
285+ st_JsonPayload[" nPayLen" ] = (Json::Value::UInt)strlen (" XEngine_Modify" );
286+ st_JsonPayload[" tszPayData" ] = " XEngine_Modify" ;
287+
288+ st_JsonRoot[" st_MQProtocol" ] = st_JsonMQProtocol;
289+ st_JsonRoot[" st_Payload" ] = st_JsonPayload;
290+
291+ nLen = st_JsonRoot.toStyledString ().length ();
292+ memcpy (tszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), nLen);
293+
294+ TCHAR* ptszMsgBody = NULL ;
295+ if (!APIHelp_HttpRequest_Custom (_T (" POST" ), lpszPostUrl, tszMsgBuffer, NULL , &ptszMsgBody))
296+ {
297+ printf (" 发送投递失败!\n " );
298+ return ;
299+ }
300+ printf (" MQ_ModifyTopic:%s\n " , ptszMsgBody);
301+ BaseLib_OperatorMemory_FreeCStyle ((XPPMEM)&ptszMsgBody);
302+ }
303+ void MQ_Delete ()
304+ {
305+ int nLen = 0 ;
306+ TCHAR tszMsgBuffer[2048 ];
307+ memset (tszMsgBuffer, ' \0 ' , sizeof (tszMsgBuffer));
308+
309+ Json::Value st_JsonRoot;
310+ Json::Value st_JsonMQProtocol;
311+ Json::Value st_JsonPayload;
312+ st_JsonRoot[" unOperatorType" ] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
313+ st_JsonRoot[" unOperatorCode" ] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQDELETE;
314+ st_JsonRoot[" byVersion" ] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
315+ st_JsonRoot[" xhToken" ] = xhToken;
316+
317+ st_JsonMQProtocol[" tszMQKey" ] = " XEngine_Modify" ;
318+ st_JsonRoot[" st_MQProtocol" ] = st_JsonMQProtocol;
319+
320+ nLen = st_JsonRoot.toStyledString ().length ();
321+ memcpy (tszMsgBuffer, st_JsonRoot.toStyledString ().c_str (), nLen);
322+
323+ TCHAR* ptszMsgBody = NULL ;
324+ if (!APIHelp_HttpRequest_Custom (_T (" POST" ), lpszPostUrl, tszMsgBuffer, NULL , &ptszMsgBody))
325+ {
326+ printf (" 发送投递失败!\n " );
327+ return ;
328+ }
329+ printf (" MQ_Delete:%s\n " , ptszMsgBody);
330+ BaseLib_OperatorMemory_FreeCStyle ((XPPMEM)&ptszMsgBody);
331+ }
201332
202333int main ()
203334{
@@ -207,10 +338,14 @@ int main()
207338#endif
208339
209340 MQ_Authorize ();
341+ MQ_UNRead ();
210342 MQ_Create ();
211343 MQ_Post (" 123hello" );
212344 MQ_GetNumber ();
213345 MQ_Get ();
346+ MQ_ModifyMsg ();
347+ MQ_ModifyTopic ();
348+ MQ_Delete ();
214349
215350#ifdef _WINDOWS
216351 WSACleanup ();
0 commit comments