diff --git a/controllers/event.go b/controllers/event.go index f9d4cf433..eacb0b373 100644 --- a/controllers/event.go +++ b/controllers/event.go @@ -134,24 +134,25 @@ func (c *EventController) TestWebsocket() { c.EnableRender = false //Beego不启用渲染 - var s *model.ImMessageRecord - for { - //接收客户端的消息 - err := ws.ReadJSON(&s) - if err != nil { - globals.SugarLogger.Debugf("页面可能断开啦 ws.ReadJSON error: %v", err.Error()) - delete(clients, ws) //删除map中的客户端 - break //结束循环 - } else { - //把消息 写入通道 - broadcast <- s - //接受消息 业务逻辑 - db := dao.GetDB() - dao.WrapAddIDCULDEntity(&s, "") - dao.CreateEntity(db, &s) - // fmt.Println("接受到从页面上反馈回来的信息 ", utils.Format4Output(s, false)) + var s model.ImMessageRecord + go func() { + for { + //接收客户端的消息 + err := ws.ReadJSON(&s) + if err != nil { + globals.SugarLogger.Debugf("页面可能断开啦 ws.ReadJSON error: %v", err.Error()) + delete(clients, ws) //删除map中的客户端 + break //结束循环 + } else { + broadcast <- &s + //接受消息 业务逻辑 + db := dao.GetDB() + dao.WrapAddIDCULDEntity(&s, "") + dao.CreateEntity(db, &s) + // fmt.Println("接受到从页面上反馈回来的信息 ", utils.Format4Output(s, false)) + } } - } + }() } func init() {