diff --git a/handler/im.go b/handler/im.go index bc634fd..f19b688 100644 --- a/handler/im.go +++ b/handler/im.go @@ -135,6 +135,7 @@ func subscribeAndHandleIMMessages(ws *websocket.Conn, userId int) { }() go func() { + defer close(done) //从redis订阅消息 for m := range ch { msg := m.Payload // 获取消息,消息格式为json @@ -152,18 +153,19 @@ func subscribeAndHandleIMMessages(ws *websocket.Conn, userId int) { }() //发送心跳包 - //for { - // select { - // case <-done: - // //客户端断开连接 - // return - // case t := <-ticker.C: - // //发送心跳 - // err := ws.WriteMessage(websocket.PingMessage, nil) - // if err != nil { - // log.Println("Ping error:", err, t) - // return - // } - // } - //} + for { + select { + case <-done: + //客户端断开连接 + return + //case t := <-ticker.C: + // //发送心跳 + // err := ws.WriteMessage(websocket.PingMessage, nil) + // if err != nil { + // log.Println("Ping error:", err, t) + // return + // } + //} + } + } }