在 Go 中通过 STOMP 连接到 ActiveMQ
Connect to ActiveMQ via STOMP in Go
正在尝试通过 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
}
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
}
正在尝试通过 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
}
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
}