
MQSeries_put1 함수는 메시지를 보내기 전에 다음 과정을 거칩니다.
1. 메시지를 큐에 보낼 수 있는지 확인합니다.
2. 메시지의 헤더를 설정합니다.
3. 메시지를 큐에 보냅니다.
MQSeries_put1 함수가 실패하는 경우에는 다음과 같은 오류 코드를 반환할 수 있습니다.
- MQRC_NOT_AUTHORIZED (2039) : 권한이 없습니다.
- MQRC_NOT_CONNECTED (2009) : 연결이 끊겼습니다.
- MQRC_Q_FULL (2006) : 큐가 꽉 찼습니다.
- MQRC_TEMP_FAILURE (2063) : 임시적인 오류입니다.
MQSeries_put1 함수를 사용하여 메시지를 보낼 때, 다음 매개변수 값을 설정해야 합니다.
- MQMD : 메시지 헤더
- MQPMO : 메시지 옵션
- MQHO : 큐 옵션
- MQCNO : 연결 옵션
- MQPMO : 메시지 옵션
- MQTMO : 메시지 옵션
예를 들어, 다음 코드는 메시지를 큐에 보내기 위해 MQSeries_put1 함수를 사용합니다.
#hostingforum.kr
c
MQMD md;
MQPMO pmo;
MQHO h;
MQCNO cno;
MQTMO tmo;
// 메시지 헤더 설정
md.format = MQFMT_STRING;
md.reply_to_q = 0;
md.reply_to_q_name = NULL;
md.reply_to_q_open_options = MQOO_NONE;
md.correlation_id = 0;
md.reply_to_q_manager = 0;
md.reply_to_q_manager_name = NULL;
md.reply_to_q_manager_open_options = MQOO_NONE;
// 메시지 옵션 설정
pmo.options = MQPMO_ASYNC_RESPONSE;
pmo.priority = MQPRI_NORMAL;
pmo.report = MQRO_NONE;
// 큐 옵션 설정
h.options = MQHO_NONE;
h.open_options = MQOO_NONE;
// 연결 옵션 설정
cno.options = MQCNO_NONE;
cno.connect_options = MQCNO_NONE;
// 메시지 옵션 설정
tmo.options = MQTMO_NONE;
tmo.timeout = 0;
// 메시지 보내기
rc = MQSeries_put1(q, &md, &pmo, &h, &cno, &tmo);
2025-07-23 21:07