最近要做后台主动推送:(iris框架,封装的有wesocket,刚开始以为直接拿过来用,结果不是现在贴一下代码,写一下遇到的坑)

func main() {
    app := iris.New()
    app.Adapt(iris.DevLogger())
    app.Adapt(httprouter.New())
    //创建websocket服务器
    ws := websocket.New(websocket.Config{
        Endpoint: "/pushmessage",
    })
    ws.OnConnection(func(c websocket.Connection) {
        c.Join("/push")
        go func() {
            for {
                var datas = <-models.CHANDATA(这里就是遇到的 坑当时一直钻牛角尖怎么把这里从man函数拿出去,其实只要直接勇哥chananel传进来就行,推商铺那个成功之后在一个chananel回去就可以了,)
                stringdata := datas.(string)
                conns := ws.GetConnectionsByRoom("/push")
                for _, v := range conns { //遍历所有的链接,发送(这里要遍历所有的链接,不然第一次推送会推送给第一个链接上的,第二次推送就会推送给第二个链接上的,不是所有的的都会推送)
                    err := v.EmitMessage([]byte(stringdata))
                    if err != nil {
                        v.Disconnect()
                    }
                }
            }
        }()
    })
    app.Adapt(
        ws,
        sessions.New(sessions.Config{
            Cookie:                      "mysessionid",
            Expires:                     0,
            CookieLength:                32,
            DisableSubdomainPersistence: false,
        }),
        view.HTML("./src/views", ".html"),
        cors.New(cors.Options{
            AllowedOrigins:   []string{"*"},
            AllowCredentials: true,
        }),
    )

现在还存在连接上websocket会接收到推送,不连接就会接收不到,就算再次链接也依然接收不到,(项目目前不要求做,就没做,后面做了补上来)

最新文章

  1. Qt for Mac 安装(包括PyQt)
  2. python 中使用celery
  3. Ext 三级联动 及附值
  4. http://debugjs.com/
  5. 转!!mysql order by 中文排序
  6. linux下的find文件查找命令与grep文件内容查找命令
  7. PIGOSS
  8. Magento给新产品页面添加分页
  9. mysql.server 文件修改起动多实例
  10. Android 工程在4.0基础上混淆
  11. 6 个基于 jQuery 的表单向导插件推荐
  12. 实现windows和linux的NFS交互
  13. 老毛桃U盘启动盘制作工具V20140501完美贡献版
  14. sql server 2012 数据库还原方法
  15. golang 实现简单的一致性哈希
  16. LeetCode 178. 分数排名
  17. HDU - 6167: Missile Interception (二分+圆的交)
  18. dtruss
  19. 【链表】Reorder List
  20. wk_06.md

热门文章

  1. 【PostgreSQL-9.6.3】表操作语句
  2. 【MySQL】源码安装
  3. Python中join函数和os.path.join用法
  4. Java 各级注解及@Autowired注入为null解决办法
  5. SQL语句注意得问题
  6. eas之网络互斥功能示手工控制
  7. 6.2 C# 2:利用 yield 语句简化迭代器
  8. [SDFZOJ]1069:树上统计
  9. 读取com口接收byte数据的处理
  10. jvm学习-ClassLoader(二)