登录
首页 >  Golang >  Go问答

使用Golang实现杜松子酒和socket.io

来源:stackoverflow

时间:2024-02-28 13:00:26 479浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《使用Golang实现杜松子酒和socket.io》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

问题内容

如何在 server := socketio.newserver(nil) 中使用 gin.context.mustget()

我使用授权来检查令牌并在进入socketio处理程序之前。

authorized.get("/socket.io", gin.wraph(server))
authorized.post("/socket.io", gin.wraph(server))

我在授权中为客户端设置了一些信息。

func authrequired(c *gin.context) {
    ...
    c.set("username", claims.username) // parse from the token
    ...
}

我知道我可以这样做来从 gin.context 获取用户名

authorized.get("/content", func(c *gin.context) {
    fmt.println(c.mustget("username"))
    ...
})

有什么方法可以从服务器获取用户名吗?或者如何将变量传递到这里?

server.OnEvent("/", "chat", func(s socketio.Conn, msg string) string {
    fmt.Println("chat: ", msg)
    s.Emit("response", msg)
    return "recv " + msg
})

虽然有s.remoteheader()可以获取token并解析,但还是重复解析一遍。


正确答案


您应该从 authrequired 添加用户名,如下所示:

c.request.header.set("username", claims.username)

然后在 server.onevent 函数中使用它,如下所示:

s.RemoteHeader().Get("username")

理论要掌握,实操不能落!以上关于《使用Golang实现杜松子酒和socket.io》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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