Skip to content

Commit 2c0a81e

Browse files
committed
update:example
1 parent 2d1dead commit 2c0a81e

File tree

3 files changed

+22
-95
lines changed

3 files changed

+22
-95
lines changed

XEngine_Apps/MQCore_HTTPApp/MQCore_HTTPApp.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ void MQ_Create()
106106
Json::Value st_JsonRoot;
107107
Json::Value st_JsonMQProtocol;
108108
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
109-
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQCREATE;
109+
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICCREATE;
110110
st_JsonRoot["byVersion"] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
111111
st_JsonRoot["xhToken"] = xhToken;
112112

@@ -165,7 +165,7 @@ void MQ_Post(LPCTSTR lpszMsgBuffer)
165165
BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBody);
166166
}
167167

168-
void MQ_GetNumber()
168+
void MQ_BindTopic()
169169
{
170170
int nLen = 0;
171171
TCHAR tszMsgBuffer[2048];
@@ -175,10 +175,11 @@ void MQ_GetNumber()
175175
Json::Value st_JsonMQProtocol;
176176
Json::Value st_JsonPayload;
177177
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
178-
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQNUMBER;
178+
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICBIND;
179179
st_JsonRoot["byVersion"] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
180180
st_JsonRoot["xhToken"] = xhToken;
181181

182+
st_JsonMQProtocol["nSerial"] = 1; //设置为1开始读取
182183
st_JsonMQProtocol["tszMQKey"] = lpszKey;
183184
st_JsonRoot["st_MQProtocol"] = st_JsonMQProtocol;
184185

@@ -209,7 +210,6 @@ void MQ_Get()
209210
st_JsonRoot["xhToken"] = xhToken;
210211

211212
st_JsonMQProtocol["tszMQKey"] = lpszKey;
212-
st_JsonMQProtocol["nSerial"] = 1;
213213

214214
st_JsonRoot["st_MQProtocol"] = st_JsonMQProtocol;
215215

@@ -240,7 +240,7 @@ void MQ_ModifyMsg()
240240
st_JsonRoot["xhToken"] = xhToken;
241241

242242
st_JsonMQProtocol["tszMQKey"] = lpszKey;
243-
st_JsonMQProtocol["nSerial"] = 1; //序列号,0服务会自动处理
243+
st_JsonMQProtocol["nSerial"] = 1; //序列号
244244
st_JsonMQProtocol["nKeepTime"] = -1;
245245
st_JsonMQProtocol["nGetTimer"] = 0;
246246

@@ -310,7 +310,7 @@ void MQ_Delete()
310310
Json::Value st_JsonMQProtocol;
311311
Json::Value st_JsonPayload;
312312
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
313-
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQDELETE;
313+
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICDELETE;
314314
st_JsonRoot["byVersion"] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
315315
st_JsonRoot["xhToken"] = xhToken;
316316

@@ -341,7 +341,7 @@ int main()
341341
MQ_UNRead();
342342
MQ_Create();
343343
MQ_Post("123hello");
344-
MQ_GetNumber();
344+
MQ_BindTopic();
345345
MQ_Get();
346346
MQ_ModifyMsg();
347347
MQ_ModifyTopic();

XEngine_Apps/MQCore_TCPApp/MQCore_TCPApp.cpp

Lines changed: 11 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ void MQ_Create()
184184

185185
st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
186186
st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
187-
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQCREATE;
187+
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICCREATE;
188188
st_ProtocolHdr.byVersion = 1;
189189
st_ProtocolHdr.byIsReply = TRUE; //获得处理返回结果
190190
st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
@@ -369,6 +369,12 @@ void MQ_TimePublish()
369369
printf("接受数据失败!\n");
370370
return;
371371
}
372+
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
373+
memset(&st_XMQProtocol, '\0', sizeof(XENGINE_PROTOCOL_XMQ));
374+
375+
memcpy(&st_XMQProtocol, ptszMsgBuffer, sizeof(st_XMQProtocol));
376+
377+
printf("接受到通知消息,主题:%s,序列:%lld,长度:%d,内容:%s\n", st_XMQProtocol.tszMQKey, st_XMQProtocol.nSerial, st_ProtocolHdr.unPacketSize - sizeof(XENGINE_PROTOCOL_XMQ), ptszMsgBuffer + sizeof(XENGINE_PROTOCOL_XMQ));
372378
BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer);
373379
}
374380

@@ -425,7 +431,7 @@ void MQ_GetNumber()
425431
}
426432
}
427433
}
428-
void MQ_GetSerial()
434+
void MQ_BindTopic()
429435
{
430436
int nLen = 0;
431437
XENGINE_PROTOCOLHDR st_ProtocolHdr;
@@ -438,7 +444,7 @@ void MQ_GetSerial()
438444

439445
st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
440446
st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
441-
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQSERIAL;
447+
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICBIND;
442448
st_ProtocolHdr.byVersion = 1;
443449
st_ProtocolHdr.byIsReply = TRUE;
444450
st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
@@ -493,7 +499,7 @@ void MQ_DeleteTopic()
493499

494500
st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
495501
st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
496-
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQDELETE;
502+
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICDELETE;
497503
st_ProtocolHdr.byVersion = 1;
498504
st_ProtocolHdr.byIsReply = TRUE; //不获取结果
499505
st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
@@ -512,47 +518,6 @@ void MQ_DeleteTopic()
512518
}
513519
}
514520

515-
//订阅
516-
void MQ_Subscribe()
517-
{
518-
int nLen = 0;
519-
XENGINE_PROTOCOLHDR st_ProtocolHdr;
520-
XENGINE_PROTOCOL_XMQ st_XMQProtocol;
521-
TCHAR tszMsgBuffer[2048];
522-
523-
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
524-
memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR));
525-
memset(&st_XMQProtocol, '\0', sizeof(XENGINE_PROTOCOL_XMQ));
526-
527-
st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
528-
st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
529-
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQNOTIFY;
530-
st_ProtocolHdr.byVersion = 1;
531-
st_ProtocolHdr.wReserve = 1; //1为请求订阅
532-
st_ProtocolHdr.byIsReply = TRUE;
533-
st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
534-
535-
st_ProtocolHdr.unPacketSize = sizeof(XENGINE_PROTOCOL_XMQ);
536-
strcpy(st_XMQProtocol.tszMQKey, lpszKey);
537-
538-
nLen = sizeof(XENGINE_PROTOCOLHDR) + st_ProtocolHdr.unPacketSize;
539-
memcpy(tszMsgBuffer, &st_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR));
540-
memcpy(tszMsgBuffer + sizeof(XENGINE_PROTOCOLHDR), &st_XMQProtocol, sizeof(XENGINE_PROTOCOL_XMQ));
541-
542-
if (!XClient_TCPSelect_SendMsg(m_Socket, tszMsgBuffer, nLen))
543-
{
544-
printf("发送投递失败!\n");
545-
return;
546-
}
547-
nLen = 0;
548-
CHAR* ptszMsgBuffer = NULL;
549-
if (!XClient_TCPSelect_RecvPkt(m_Socket, &ptszMsgBuffer, &nLen, &st_ProtocolHdr))
550-
{
551-
printf("接受数据失败!\n");
552-
return;
553-
}
554-
BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer);
555-
}
556521
int main(int argc, char** argv)
557522
{
558523
#ifdef _WINDOWS
@@ -575,12 +540,11 @@ int main(int argc, char** argv)
575540
{
576541
MQ_Post(lpszMsgBuffer);
577542
}
578-
MQ_GetSerial();
579543
MQ_GetNumber();
544+
MQ_BindTopic();
580545
MQ_Get();
581546
MQ_Get();
582547
MQ_Get();
583-
MQ_Subscribe();
584548
MQ_TimePublish();
585549
MQ_DeleteTopic();
586550
MQ_DeleteUser();

XEngine_Apps/MQCore_WSApp/MQCore_WSApp.cpp

Lines changed: 4 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ void MQ_Create()
105105
Json::Value st_JsonRoot;
106106
Json::Value st_JsonMQProtocol;
107107
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
108-
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQCREATE;
108+
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICCREATE;
109109
st_JsonRoot["byVersion"] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
110110

111111
st_JsonMQProtocol["tszMQKey"] = lpszKey;
@@ -177,7 +177,7 @@ void MQ_Post(LPCTSTR lpszMsgBuffer)
177177
}
178178

179179

180-
void MQ_GetSerial()
180+
void MQ_BindTopic()
181181
{
182182
int nLen = 0;
183183
TCHAR tszMsgBuffer[2048];
@@ -187,7 +187,7 @@ void MQ_GetSerial()
187187
Json::Value st_JsonMQProtocol;
188188
Json::Value st_JsonPayload;
189189
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
190-
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQSERIAL;
190+
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQTOPICBIND;
191191
st_JsonRoot["byVersion"] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
192192

193193
st_JsonMQProtocol["tszMQKey"] = lpszKey;
@@ -283,42 +283,6 @@ void MQ_Get()
283283
printf("MQ_Get:%s\n", tszMsgBuffer);
284284
}
285285

286-
//订阅
287-
void MQ_Subscribe()
288-
{
289-
int nLen = 0;
290-
TCHAR tszMsgBuffer[2048];
291-
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
292-
293-
Json::Value st_JsonRoot;
294-
Json::Value st_JsonMQProtocol;
295-
st_JsonRoot["unOperatorType"] = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
296-
st_JsonRoot["unOperatorCode"] = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQNOTIFY;
297-
st_JsonRoot["wReserve"] = 1; //1为请求订阅
298-
st_JsonRoot["byVersion"] = ENUM_XENGINE_PROTOCOLHDR_PAYLOAD_TYPE_JSON;
299-
300-
st_JsonMQProtocol["tszMQKey"] = lpszKey;
301-
302-
st_JsonRoot["st_MQProtocol"] = st_JsonMQProtocol;
303-
304-
nLen = st_JsonRoot.toStyledString().length();
305-
memcpy(tszMsgBuffer, st_JsonRoot.toStyledString().c_str(), nLen);
306-
307-
if (!MQ_SendPacket(tszMsgBuffer, nLen))
308-
{
309-
printf("发送投递失败!\n");
310-
return;
311-
}
312-
nLen = 2048;
313-
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
314-
if (!MQ_RecvPacket(tszMsgBuffer, &nLen))
315-
{
316-
printf("接受数据失败!\n");
317-
return;
318-
}
319-
printf("MQ_Subscribe:%s\n", tszMsgBuffer);
320-
}
321-
322286
int main()
323287
{
324288
#ifdef _WINDOWS
@@ -370,10 +334,9 @@ int main()
370334
MQ_Authorize();
371335
MQ_Create();
372336
MQ_Post("123hello");
373-
MQ_GetSerial();
374337
MQ_GetNumber();
338+
MQ_BindTopic();
375339
MQ_Get();
376-
MQ_Subscribe();
377340

378341
#ifdef _WINDOWS
379342
WSACleanup();

0 commit comments

Comments
 (0)