通过STOMP in Go连接到ActiveMQ

通过STOMP in Go连接到ActiveMQ,go,activemq,stomp,amazon-mq,Go,Activemq,Stomp,Amazon Mq,试图通过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 r

试图通过
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协议,因此连接到它的正确方法是首先自己设置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
}