尝试通过 github.com/go-stomp/stomp 库连接到 AWS 上的 ActiveMQ 实例。
以下代码抛出无效命令
错误:
func (s *STOMP) Init() error {
netConn, err := stomp.Dial("tcp", "host:61614")
if err != nil {
return errors.Wrap(err, "dial to server")
}
s.conn = netConn
return nil
}
最佳答案
AmazonMQ 使用 stomp+ssl 协议(protocol),因此连接它的正确方法是首先自行设置 TLS 连接:
func (s *STOMP) Init() error {
netConn, err := tls.Dial("tcp", "host:61614", &tls.Config{})
if err != nil {
return errors.Wrap(err, "dial tls")
}
stompConn, err := stomp.Connect(netConn)
if err != nil {
return errors.Wrap(err, "dial to server")
}
s.conn = stompConn
return nil
}
关于go - 在 Go 中通过 STOMP 连接到 ActiveMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51613070/