我已在本地 Windows VM 上安裝了 IBM MQ (8.0.0.4),并按照文檔中的說(shuō)明啟用 AMQP ( https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_8.0.0/com.ibm .mq.con.doc/tamqp_creating.htm),并且還禁用了身份驗(yàn)證,因?yàn)檫@只是本地開(kāi)發(fā)環(huán)境。完成后,我可以使用 IBM mqlight 包中的 node.js 示例從主機(jī)操作系統(tǒng)進(jìn)行連接:>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但是,當(dāng)嘗試使用 vcabbage/amqp(版本 0.12.5)從 golang 應(yīng)用程序進(jìn)行連接時(shí),它會(huì)在嘗試撥號(hào)主機(jī)時(shí)返回 EOF 錯(cuò)誤。最小的例子:package mainimport ( "fmt" "pack.ag/amqp")func main() { _, err := amqp.Dial("amqp://windows-10:5672") fmt.Println(err) // EOF}IBM MQ 錯(cuò)誤日志中未顯示任何內(nèi)容。不幸的是,Google 沒(méi)有找到任何通過(guò) golang 中的 AMQP 1.0 連接到 IBM MQ 的相關(guān)結(jié)果,所以我陷入了困境。有人有什么想法嗎?
1 回答

阿波羅的戰(zhàn)車(chē)
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
所以解決方案顯然是使用 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 似乎在發(fā)送初始標(biāo)頭數(shù)據(jù)包后立即關(guān)閉通道。無(wú)論如何,EOF 都是從接收 goroutine 中冒出來(lái)的。
- 1 回答
- 0 關(guān)注
- 268 瀏覽
添加回答
舉報(bào)
0/150
提交
取消