解決 MQTT 用戶端無法連接的相關問題
如果 MQTT 用戶端無法連接至遙測通道,則可能有多種原因。
程序
請考量下列原因,來診斷 MQTT 用戶端無法連接的相關問題:
- 檢查佇列管理程式及遙測 (MQXR) 服務是否在執行中。
啟動佇列管理程式。依預設,MQXR 服務應該會隨佇列管理程式一起啟動。如果您已配置 MQXR 服務控制以進行手動啟動,則可能必須從服務資料夾啟動該服務。如需啟動 MQXR 服務的相關資訊,請參閱啟動和停止 MQXR 服務。
- 檢查遙測通道和遙測 (MQXR) 服務是否已正確定義,且在正確執行中。
您可以手動定義 MQXR 服務,並將佇列管理程式的預設傳輸佇列設為 SYSTEM.MQTT.TRANSMIT.QUEUE,此佇列優先於現有預設傳輸佇列。這會讓佇列管理程式適合於 Telemetry。此外,您可能想要從 Telemetry 歡迎使用頁面來執行「定義配置範例」精靈(若您尚未這樣做的話)。
- 您是否已撰寫自己的用戶端?
如果您已撰寫用戶端應用程式,則它是使用 MQTT 第 3 版通訊協定,而不是使用第 5 版通訊協定嗎?透過執行 MQTT 用戶端公用程式,來嘗試找出問題所在。
- 您的用戶端 ID 名稱是否有效?
連接至 IBM® MQ 時,MQTT 用戶端 ID 應該小於 23 個字元,且只能包含英文字母、數值字元,以及句點 (.)、正斜線 (/)、底線 (_) 和百分比符號 (%)。
- 您是否已連接 MQTT 用戶端,並耗盡了 MQTT 保持作用中時間間隔?
保持作用中屬性是以毫秒為單位的時間間隔,在該時間間隔之後,MQTT 用戶端會由於閒置而切斷連線。如果 MQXR 服務在保持作用中時間間隔內,未收到來自用戶端的任何通訊,則會切斷與用戶端的連線。
- 是否有許多 MQTT 用戶端嘗試同時連接至遙測通道?
每一個遙測通道都具有待辦事項屬性。這是遙測通道所支援的並行連線要求數目。請確保未將該值設為小於嘗試連接的 MQTT 用戶端數目。
- 請檢查 TCP/IP 連線是否仍在作用中。

反饋

http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.explorer.doc/com.ibm.mq.explorer.doc/x_troubleshoot_client.htm