MQ开发C教程
MQ发送消息和接收消息例子, /////////////
//MQ初始化 MQHOBJ hObj;
MQLONG O_options, ATIVE; = MQCCSI_Q_MGR;
memcpy(, MQMI_NONE, sizeof());
memcpy(, MQCI_NONE, sizeof());
MQGET(hConn, hObj, &md, &gmo, MAX_THEEAD_BUF, sMsgBuf, (long *)piMsgLen, &CompCode, &Reason); if(CompCode==MQCC_FAILED) {
if(Reason==MQRC_NO_MSG_AVAILABLE) { Sleep(1010);
bGetFistMsg = TRUE;
// DisplayMsg(\无消息可取\ continue; }
else {
sprintf(sErrMsg, \取消息错误, MQ_ERR_CODE: %d\ if(hObj != MQHO_UNUSABLE_HOBJ)
MQCLOSE(hConn, &hObj, MQCO_NONE, &CompCode, &Reason); return -3; } }
//分析消息内容,假如是须要的回应,那么取出 = MQGMO_MSG_UNDER_CURSOR;
MQGET(hConn, hObj, &md, &gmo, MAX_THEEAD_BUF, sMsgBuf, (long
*)piMsgLen, &CompCode, &Reason); if(CompCode==MQCC_FAILED) {
sprintf(sErrMsg, \取回应消息错误, MQ_ERR_CODE: %d\ if(hObj != MQHO_UNUSABLE_HOBJ)
MQCLOSE(hConn, &hObj, MQCO_NONE, &CompCode, &Reason); return -4; }
bGetFistMsg = FALSE;
Sleep(10); }
if(hObj != MQHO_UNUSABLE_HOBJ)
MQCLOSE(hConn, &hObj, MQCO_NONE, &CompCode, &Reason);
if(bGetResMsgSuc) return 0; else {
sprintf(sErrMsg, \取回应消息超时\ return -5; }
/////////////
索引消息格式vc例子: ///////////// head:
#define NULL_POINTER (void*)0L #define MAX_FILENAME_LENGTH 256 #define MAX_MQRMH_LENGTH 1010
typedef struct tagMQRMHX{ MQRMH ref;
MQCHAR SrcName[MAX_FILENAME_LENGTH];
MQCHAR DestName[MAX_FILENAME_LENGTH]; } MQRMHX;
int prmGetQMgrCCSID (MQCHAR48 QMg
MQ开发C教程 来自淘豆网www.taodocs.com转载请标明出处.