From c7be6b3cbeaec28d19836a73c9d47d5f916a3d45 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 13:45:13 +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 | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/controllers/event.go b/controllers/event.go index a17d07d22..be539bb84 100644 --- a/controllers/event.go +++ b/controllers/event.go @@ -132,28 +132,29 @@ func (c *EventController) TestWebsocket() { //将当前客户端放入map中 clients[ws] = true + m := &model.ImMessageRecord{} + //把消息 写入通道 + broadcast <- m + c.EnableRender = false //Beego不启用渲染 var s model.ImMessageRecord - broadcast <- &s - 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)) - } + 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() {