我现在要在beego中的controller中去调用websocket封装好的消息发送和接收接口

来源:6-1 课程回顾与寄语

yangxinxin

2021-01-07 20:02

我把封装好的websocket连接放到一个map集合中,但是在其他接口中调用该connection对象,说连接被关闭

写回答 关注

1回答

  • yangxinxin
    2021-01-07 20:21:45

    我的思路是:

    1. ws://localhost:8089/upgrade?cluster_uuid=233242 #此处的uuid是每个连接的唯一id,
      后端保存时作为map的key
    2. 后端把做好的连接放到map中:
      imp.ConnMap[clusterUUID] = conn
      # 下面代码一直轮询,防止整个函数体退出
      for {
         select {
         case <-conn.CloseChan:
            goto ERR
         }
      }
    3. 我在beego的另外一个路由对应的controller中获取websocket连接,此时程序错误,说连接已经被关闭了


    yangxi...

    我又测试了一下,如果用简单的http.HandleFunc() 这样的方式在另外一个路由下面调用websocket connection连接是没有问题的,但是在beego中就会把websocket连接关闭掉。好奇怪

    2021-01-08 10:24:58

    共 1 条回复 >

GO实现千万级WebSocket消息推送服务

分布式高并发的弹幕架构揭秘,直播弹幕系统技术难点分析

21363 学习 · 56 问题

查看课程

相似问题