Golang WebSocket连接:为何一个标签页能收发消息,另一个却不行?

golang websocket连接:为何一个标签页能收发消息,另一个却不行?

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生成,不代表软件指南立场。本站不负任何法律责任。

如若转载请注明出处:http://www.down96.com/tutorials/13184.html

热心网友热心网友
上一篇 2025-04-11 17:12
下一篇 2025-04-11 17:12

相关推荐

本站[软件指南]所有内容来自互联网投稿或AI智能生成,并不代表软件指南的立场。