登录
首页 >  Golang >  Go问答

使用 Websocket 连接到 NSQ

来源:stackoverflow

时间:2024-03-29 14:21:27 450浏览 收藏

来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《使用 Websocket 连接到 NSQ》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

问题内容

是否可以通过用户浏览器中运行的 Web 应用程序的 WebSocket 连接与 NSQ 进行通信?

任何内置 NSQ 功能或第三方库建议都会有很大帮助。


正确答案


最近有 WSQ 库解决了通过 websocket 连接与 nsq 通信的任务。

它允许在websocket和nsq端分别定义消息编码/解码逻辑。此外,wsq还支持注入身份验证和授权逻辑,控制用户订阅和发布主题的访问权限,以及根据消息内容过滤传入消息。

创建 wsq 服务器示例:

// Create the default config
wsqConfig := wsq.NewConfig()
// Configure Websocket CheckOrigin callback to bypass any checks.
// Don't do it in production!
wsqConfig.SetWSCheckOrigin(wsq.CheckOriginBypass)

// Create the server instance specifying message and user types to use.
server := wsq.NewServer[message, *wsq.AnonymousUser](
    // Address (optional) and port to listen on
    ":9980",
    // WSQ Config instance
    wsqConfig,
    // NSQ Config instance
    nsq.NewConfig(),
    // WSQ Transformer struct providing encoders/decoders for NSQ and Websocket sides respectivly
    &wsq.Transformer[message]{NSQEnDec: &nsqEnDec{}, WSEnDec: &wsEnDec{}},
    // Authentication controller
    &wsq.NoAuthentication,
)
server.Run()

本篇关于《使用 Websocket 连接到 NSQ》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

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