diff --git a/handler/device.go b/handler/device.go index 5ea231f..83424bc 100644 --- a/handler/device.go +++ b/handler/device.go @@ -233,6 +233,7 @@ func subscribeAndHandleMessages(ws *websocket.Conn, device_id int) { ctx := context.Background() pubsub := worker.RedisClient.Subscribe(ctx, strconv.Itoa(device_id)+"_frames_msgs") defer pubsub.Close() + defer ws.Close() ch := pubsub.Channel() var check_cnt int for msg := range ch { @@ -261,10 +262,9 @@ func subscribeAndHandleMessages(ws *websocket.Conn, device_id int) { clientsMux.Lock() clients[ws] = false clientsMux.Unlock() - ws.Close() + fmt.Println("send message to client err:", err2) worker.SetRedisWithExpire(strconv.Itoa(device_id)+"_is_play", "0", time.Minute*5) break } - time.Sleep(time.Millisecond * 200) } }