程序开发 · 2024年4月22日

Golang WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?

来到GOLANG的大家,相信都是编程学习爱好者,希望在这里学习GOLANG相关编程知识。下面本篇文章就来带大家聊聊《GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!,
,
golang 使用 websocket 时无法收到信息,在使用 gorrila websocket 库时,开发人员在本地开发中遇到问题:,当用户在 chrome 的不同标签页中通过 websocket 访问服务器时,一个标签页能够正常收发信息,而另一个标签页则无法收到信息。,
问题分析,这个问题通常是由未为每个连接创建独立的 websocket 实例引起的。,
解决方案,参考 github 上提供的聊天示例,为每个连接创建独立的 websocket 实例。,
代码示例,在 websocket 包中:,在 router 包中:,理论要掌握,实操不能落!以上关于《GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注GOLANG公众号吧!,golang 使用 websocket 时无法收到信息,来到GOLANG的大家,相信都是编程学习爱好者,希望在这里学习GOLANG相关编程知识。下面本篇文章就来带大家聊聊《GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!,

当前位置: > > > > GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?

GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?

2024-11-20 09:04:11
0浏览
收藏

来到GOLANG的大家,相信都是编程学习爱好者,希望在这里学习GOLANG相关编程知识。下面本篇文章就来带大家聊聊《GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!

golang 使用 websocket 时无法收到信息

在使用 gorrila websocket 库时,开发人员在本地开发中遇到问题:

当用户在 chrome 的不同标签页中通过 websocket 访问服务器时,一个标签页能够正常收发信息,而另一个标签页则无法收到信息。

问题分析

这个问题通常是由未为每个连接创建独立的 websocket 实例引起的。

解决方案

参考 github 上提供的聊天示例,为每个连接创建独立的 websocket 实例。

代码示例

在 websocket 包中:

func ws(c *gin.context) {
    // ...

    // 为每个连接创建独立的 websocket 实例
    wsconn, err := upgrader.upgrade(c.writer, c.request, nil)
    if err != nil {
        return
    }
    go handlewebsocket(wsconn)
}

func handlewebsocket(wsconn *websocket.conn) {
    for {
        // ...
    }
}

在 router 包中:

// ...

// 为每个连接创建独立的 WebSocket 实例
v1.GET("/ws", ws.Ws)

理论要掌握,实操不能落!以上关于《GOLANG WebSocket 连接为何一个标签页能正常收发信息而另一个标签页无法收到信息?》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注GOLANG公众号吧!

JDK动态代理和CGLIB动态代理获取代理对象为null的原因是什么?
我做了一个组件库!