我已在本地 Windows VM 上安裝了 IBM MQ (8.0.0.4),并按照文檔中的說明啟用 AMQP ( https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm .mq.con.doc/tamqp_creating.htm),并且還禁用了身份驗證,因為這只是本地開發環境。完成后,我可以使用 IBM mqlight 包中的 node.js 示例從主機操作系統進行連接:>npm install mqlight...>node node_modules/mqlight/samples/recv.js -s amqp://windows-10:5672Connected to amqp://windows-10:5672 using client-id recv_126117cSubscribed to pattern: public但是,當嘗試使用 vcabbage/amqp(版本 0.12.5)從 golang 應用程序進行連接時,它會在嘗試撥號主機時返回 EOF 錯誤。最小的例子:package mainimport ( "fmt" "pack.ag/amqp")func main() { _, err := amqp.Dial("amqp://windows-10:5672") fmt.Println(err) // EOF}IBM MQ 錯誤日志中未顯示任何內容。不幸的是,Google 沒有找到任何通過 golang 中的 AMQP 1.0 連接到 IBM MQ 的相關結果,所以我陷入了困境。有人有什么想法嗎?
1 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
所以解決方案顯然是使用 SASL Anonymous 模式;這允許客戶端連接。
package main
import (
"fmt"
"pack.ag/amqp"
)
func main() {
_, err := amqp.Dial("amqp://windows-10:5672", amqp.ConnSASLAnonymous())
fmt.Println(err) // nil
}
如果有人想嘗試使其在“正?!蹦J较鹿ぷ鳎敲?IBM MQ 似乎在發送初始標頭數據包后立即關閉通道。無論如何,EOF 都是從接收 goroutine 中冒出來的。
- 1 回答
- 0 關注
- 251 瀏覽
添加回答
舉報
0/150
提交
取消