From 70b000665c80284571ed653afbbd6d10af74739d Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 05 Jun 2026 14:24:10 +0800
Subject: [PATCH] feat(okx): 添加WebSocket订阅确认机制和优化网格交易配置
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java
index b6974ae..8d5329b 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxGridWsClient.java
@@ -137,7 +137,11 @@
isConnecting.set(false);
if (sharedExecutor != null && !sharedExecutor.isShutdown()) {
resetHeartbeatTimer();
- wsLogin();
+ if (isPublic) {
+ subscribeAllHandlers();
+ } else {
+ wsLogin();
+ }
}
}
@@ -225,6 +229,21 @@
if ("subscribe".equals(event) || "unsubscribe".equals(event)) {
log.info("[{}] {}事件: {}", logPrefix, event, response.getString("arg"));
+ // 订阅成功确认:解析频道名并通知对应 handler
+ if ("subscribe".equals(event)) {
+ JSONObject argObj = response.getJSONObject("arg");
+ if (argObj != null) {
+ String channel = argObj.getString("channel");
+ if (channel != null) {
+ for (OkxGridChannelHandler handler : channelHandlers) {
+ if (channel.equals(handler.getChannelName())) {
+ handler.onSubscribed();
+ break;
+ }
+ }
+ }
+ }
+ }
return;
}
--
Gitblit v1.9.1