登录
首页 >  Golang >  Go问答

在 Go 中通过 STOMP 连接到 ActiveMQ

来源:stackoverflow

时间:2024-04-07 21:00:35 418浏览 收藏

本篇文章给大家分享《在 Go 中通过 STOMP 连接到 ActiveMQ》,覆盖了Golang的常见基础知识,其实一个语言的全部知识点一篇文章是不可能说完的,但希望通过这些问题,让读者对自己的掌握程度有一定的认识(B 数),从而弥补自己的不足,更好的掌握它。

问题内容

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

今天关于《在 Go 中通过 STOMP 连接到 ActiveMQ》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>