From 7d55d68c904274a4637c4456a1965abb39fbb43c Mon Sep 17 00:00:00 2001 From: lijun Date: Sun, 19 Jan 2025 15:44:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=9F=A5=E7=9C=8B=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=98=AF=E5=90=A6=E5=9C=A8=E8=8E=B7=E5=8F=96=E5=9B=BE?= =?UTF-8?q?=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/tool.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/handler/tool.go b/handler/tool.go index 5e5043d..000bc10 100644 --- a/handler/tool.go +++ b/handler/tool.go @@ -102,6 +102,14 @@ func GetVideoStream(c *gin.Context) { c.JSON(400, gin.H{"error": "key error"}) return } + + //查看设备是否在获取 + isGetting := worker.GetRedis(fmt.Sprintf("device_%d_is_getting", deviceID)) + if isGetting != "true" { + c.JSON(400, gin.H{"error": "device is not getting or not exist"}) + log.Printf("stream device_id:%d is not getting or not exist", deviceID) + return + } //设备流 c.Stream(func(w io.Writer) bool { var count int @@ -186,6 +194,12 @@ func GetRealTimeImage(c *gin.Context) { } worker.SetRedisWithExpire(strconv.Itoa(int(device.ID))+"_is_play", "1", time.Minute*5) log.Printf("device_id:%d has set is_play to 1", deviceIdInt) + isGetting = worker.GetRedis(fmt.Sprintf("device_%d_is_getting", device.ID)) + if isGetting != "true" { + c.JSON(http.StatusOK, gin.H{"code": 5, "message": "device is not getting or not exist"}) + log.Printf("device_id:%d is not getting or not exist", deviceIdInt) + return + } go subscribeAndHandleMessagesV3(ws, deviceIdInt) }