From 7e3bf01ec3e38cf8dba2039e5a4a2edeb6208fb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 20 Aug 2020 11:48:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84ws?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controllers/event.go | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) 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() {