2

github.com/go-stomp/stomp尝试通过库连接到 AWS 上的 ActiveMQ 实例。

以下代码引发invalid command错误:

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
}
4

1 回答 1

2

AmazonMQ 使用 stomp+ssl proto,因此连接它的正确方法是先自行设置 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
}

https://github.com/go-stomp/stomp/wiki/Connect-using-TLS

于 2018-07-31T12:08:50.377 回答