Эх сурвалжийг харах

test: websocket heartbeat

HeWang 6 сар өмнө
parent
commit
1282e8792f

+ 18 - 15
aarch64/pjibot_guide/common/config/c_websocket.go

@@ -52,31 +52,34 @@ func keepAlive() {
 	ticker := time.NewTicker(30 * time.Second)
 	defer ticker.Stop()
 
+	request := Request1{
+		Type:      "request",
+		CommandID: "heart",
+		Parameter: nil,
+	}
+
+	requestJSON, err := json.Marshal(request)
+	if err != nil {
+		c_log.GlobalLogger.Error("保持websocket连接活跃,解析requestJSON - 失败。", err)
+	}
+
 	for {
 		select {
 		case <-ticker.C:
-			//response, err := sendRequestAndAwaitResponse(WsConn)
-			//if err != nil || response == nil {
-			//	c_log.GlobalLogger.Error("保持websocket连接活跃,此次请求未获取有效数据。")
-			//	continue
-			//}
-			//var responseMessage Response
-			//err = json.Unmarshal(response, &responseMessage)
-			//if err != nil {
-			//	c_log.GlobalLogger.Error("保持websocket连接活跃,解析websocket响应 - 失败。", err)
-			//	continue
-			//}
-			//c_log.GlobalLogger.Error("responseMessage", responseMessage)
-			flag, err := SendWebsocketHeartbeat(WsConn, 1000)
+			err := WsConn.WriteMessage(websocket.TextMessage, requestJSON)
 			if err != nil {
-				c_log.GlobalLogger.Error("保持websocket连接活跃,请求出错", err, ",定时重试。")
+				c_log.GlobalLogger.Error("保持websocket连接活跃,发送心跳请求 - 失败。", err)
+				continue
 			}
-			if !flag {
+			_, _, err = WsConn.ReadMessage()
+			if err != nil {
+				c_log.GlobalLogger.Error("保持websocket连接活跃,获取心跳响应 - 失败。", err)
 				WsConn.Close()
 				c_log.GlobalLogger.Info("重试连接websocket...")
 				ConnectWebsocket() // 重新连接
 				continue
 			}
+			c_log.GlobalLogger.Info("保持websocket连接活跃,发送心跳请求 - 成功。")
 		}
 	}
 }

+ 0 - 2
aarch64/pjibot_guide/control/pkg/judge_local.go

@@ -32,8 +32,6 @@ func GetLocalStatus(localStatus *string, lastLocalStatus *string, turnLength int
 			log.Println("Error in receive:", err)
 			break
 		}
-		fmt.Println("websocket:", config.WsConn)
-		fmt.Println("statusMessage:", statusMessage)
 
 		if statusMessage.Type == "push" && statusMessage.Topic == "robotStatus" {
 			//fmt.Println("statusMessage:", statusMessage)