From 807839aee63cc115f89326e1c0a8703ef40b71b2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Sun, 04 Jan 2026 16:38:13 +0800
Subject: [PATCH] fix(websocket): 修复心跳处理逻辑

---
 src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClient.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClient.java
index 8efb877..9feb015 100644
--- a/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClient.java
@@ -213,6 +213,12 @@
      */
     private void handleWebSocketMessage(String message) {
         try {
+
+            if ("pong".equals(message)) {
+                log.debug("{}: 收到心跳响应");
+                cancelPongTimeout();
+                return;
+            }
             JSONObject response = JSON.parseObject(message);
             String event = response.getString("event");
 
@@ -221,9 +227,6 @@
             } else if ("error".equals(event)) {
                 log.error("价格订阅错误: code={}, msg={}",
                         response.getString("code"), response.getString("msg"));
-            } else if ("pong".equals(event)) {
-                log.debug("收到pong响应");
-                cancelPongTimeout();
             } else {
                 processPushData(response);
             }
@@ -400,9 +403,7 @@
     private void sendPing() {
         try {
             if (webSocketClient != null && webSocketClient.isOpen()) {
-                JSONObject ping = new JSONObject();
-                ping.put("op", "ping");
-                webSocketClient.send(ping.toJSONString());
+                webSocketClient.send("ping");
                 log.debug("发送ping请求");
             }
         } catch (Exception e) {

--
Gitblit v1.9.1