關於C 對接IBMMQ

2022-07-10 04:36:07 字數 1627 閱讀 5267

之前有對接過rabbitmq,覺得ibmmq應該也問題不大,但是出乎意料的花費了不少的時間。

對方接收到的訊息一直是亂碼,後來瞄到mq平台上乙個引數,試著修改了一下,沒想到還真是的這個引數引起,後面會提到。

最終還是成功調同,實屬不易,在這記錄一下。

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

using

system.windows.forms;

using

ibm.wmq;

namespace

pzhdataupload.base

string queuename =quename;

management.queuename =queuename;

environment.setenvironmentvariable(

"mqccsid

", "

1381");

if (mqenvironment.properties.count <= 0

)

mqenvironment.port =port;

mqenvironment.channel =channel;

mqenvironment.hostname =host;

string qmname =quemangername;

try linkstatus = "

連線佇列管理器:

" + "

成功!"

; }

catch

(mqexception e)

catch

(exception e)

return

linkstatus;

}//////

傳送訊息

/// ///

public

static

void sendmsg(string

message)

catch

(mqexception e)

mqmsg = new

mqmessage();

mqmsg.encoding =ccsid;

mqmsg.characterset =ccsid;

mqmsg.writestring(message);

putoptions = new

mqputmessageoptions();

try

catch

(mqexception mqe)

finally

catch

(mqexception e)}}

}}

有幾點需要注意:

1:需要安裝ibmmq客戶端。

2:需要引用安裝目錄下amqmdnet.dll這個dll。

3:ccsid為字元編碼,這個不對應的話,接收方收到的訊息會亂碼。

關於openstack對接ceph後端遇到的問題

按照官方文件在openstack上對接了ceph後端,但是openstack後端連線不上ceph,在openstack上執行ceph n client.admin s,一直處於等待卡死狀態,百思不得其解,後來找到解決方案了,是ceph被外部訪問的openstack訪問的埠沒有開啟。在ceph集群中執...

關於對接諸葛IO 解決的問題

php if session is identify function function php session is identify 0 unset session is login 中 如上 如果不使用 清 session 則會導致 先執行完 再執行 此時已經清空,所以打點始終無效 如果使用j...

關於在angualr對接資料時的問題

1.angular.foreach的用法 學到的知識,陣列怎樣遍歷到頁面上顯示 item.name for item in data 首先data是乙個陣列 把物件轉化為陣列的形式 scope.alldepartment 陣列 success function data 物件轉為陣列 functio...