Golang WebSocket连接问题:单标签页正常通信,多标签页失效
本文分析并解决一个使用gorilla/websocket库开发Golang WebSocket服务器时遇到的问题:Chrome浏览器中,一个标签页可以正常收发WebSocket消息,而其他标签页则无法收发,除非刷新页面,但刷新后第一个标签页又会失效。 问题发生在Go 1.16、gorilla/websocket 1.4.2版本,Windows 10环境下。
问题根源:全局变量导致连接覆盖
用户提供的代码片段显示,WebSocket连接使用全局变量ws存储:
立即学习“go语言免费学习笔记(深入)”;
//部分serve代码var ws *websocket.Connfunc Ws(c *gin.Context) { var err error ws, err = upgrader.Upgrade(c.Writer, c.Request, nil) // ...}
登录后复制
本文来自互联网或AI生成,不代表软件指南立场。本站不负任何法律责任。