使用 Gorilla WebSocket 库无法接收消息,如何解决?
你在使用 Gorilla WebSocket 库时遇到了无法收到消息的问题。描述如下:
有人遇到过类似的问题吗?是如何解决的?
根据你提供的代码和问题描述,以下是可能的解决方案:
- 检查 websocket 握手:确保你在升级 HTTP 请求到 Websocket 协议时没有遇到错误。
- 独立管理 WebSocket 连接:在你的代码中,你将 ws 变量用作所有连接的共享连接。这可能会导致问题,因为每个连接应该有自己的 WebSocket 连接实例。尝试在收到新连接时创建新的 WebSocket 连接,并将其与该特定连接相关联。
- 引用正确的 WebSocket 连接:在发送和接收消息时,请确保你使用与要进行通信的特定连接关联的 WebSocket 连接。
更新补充:
你添加的代码中证实了这是一个独立管理 WebSocket 连接的问题。原始的 Ws 函数中只有一个全局的 ws 变量,这意味着所有连接都必须共用相同的连接。在修改后的代码中,每次有新连接时都会创建一个新的 ws 变量,解决了这个问题。
以上就是使用 Gorilla WebSocket 库无法接收消息,如何解决?的详细内容,更多请关注其它相关文章!