diff --git a/handler/device.go b/handler/device.go index aa28387..253df8e 100644 --- a/handler/device.go +++ b/handler/device.go @@ -412,7 +412,12 @@ func VideoFeed(c *gin.Context) { // 启动一个协程来监测客户端连接是否关闭,关闭时向 clientClosed 通道发送信号 go func() { <-c.Request.Context().Done() - clientClosed <- struct{}{} + //如果clientClosed通道已经关闭,不再发送 + if _, ok := <-clientClosed; !ok { + return + } else { + clientClosed <- struct{}{} + } }() // 查看是否还有其他连接,没有则设置 is_play 为 0