From 433a5af0116ed14adaddf84ba7549fb6c36d5faa Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Tue, 12 Aug 2025 16:23:34 +0800
Subject: [PATCH] 1

---
 src/main/java/com/nq/ws/WebsocketRunClient.java |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/nq/ws/WebsocketRunClient.java b/src/main/java/com/nq/ws/WebsocketRunClient.java
index 2d276b1..8041f73 100644
--- a/src/main/java/com/nq/ws/WebsocketRunClient.java
+++ b/src/main/java/com/nq/ws/WebsocketRunClient.java
@@ -49,6 +49,15 @@
     @Override
     public void onOpen(ServerHandshake serverHandshake) {
         send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes());
+        Timer heartbeatTimer;
+        // 启动心跳定时器
+        heartbeatTimer = new Timer();
+        heartbeatTimer.schedule(new TimerTask() {
+            @Override
+            public void run() {
+                send(("key:"+ eStockType.getStockKey()+":"+eStockType.getContryId()).getBytes());
+            }
+        }, 0, 3000); // 每3秒发送一次心跳消息
     }
 
     @Override
@@ -65,7 +74,7 @@
             stockRealTimeBean.setPc(stringObjectMap.get("Chg").toString());
             stockRealTimeBean.setPcp(stringObjectMap.get("ChgPct").toString()+"%");
             stockRealTimeBean.setTime(stringObjectMap.get("Time").toString());
-            RedisKeyUtil.setCacheRealTimeStock(EStockType.IN,stockRealTimeBean);
+            RedisKeyUtil.setCacheRealTimeStock(EStockType.US,stockRealTimeBean);
             ObjectMapper objectMapper = new ObjectMapper();
             try {
                 if(!stockRealTimeBean.getPcp().contains("-")){
@@ -74,11 +83,13 @@
                 String json = objectMapper.writeValueAsString(stockRealTimeBean);
                 sendLoca(json);
                 StockRealTimeBean stockDetailBean =  new Gson().fromJson(s, StockRealTimeBean.class);
-                RedisKeyUtil.setCacheRealTimeStock(EStockType.IN,stockDetailBean);
+                RedisKeyUtil.setCacheRealTimeStock(EStockType.US,stockDetailBean);
             } catch (JsonProcessingException e) {
                 throw new RuntimeException(e);
             }
 
+        }else{
+            log.error("websocket  消息错误:"+s);
         }
     }
 

--
Gitblit v1.9.3