From a58cccfff6734b5e2780984aeb02bff591391ef1 Mon Sep 17 00:00:00 2001 From: laodaming <11058467+laudamine@user.noreply.gitee.com> Date: Fri, 20 Oct 2023 14:10:03 +0800 Subject: [PATCH] fix --- constants/websocket.go | 3 +++ server/websocket/internal/logic/datatransferlogic.go | 5 ++++- utils/websocket_data/base_data.go | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/constants/websocket.go b/constants/websocket.go index 4fd14ff5..ce802d68 100644 --- a/constants/websocket.go +++ b/constants/websocket.go @@ -9,6 +9,9 @@ const ( WEBSOCKET_CONNECT_SUCCESS Websocket = "WEBSOCKET_CONNECT_SUCCESS" //ws连接成功 (1级消息,单向通信) ) +// 心跳 +const WEBSOCKET_HEARTBEAT Websocket = "WEBSOCKET_HEARTBEAT" + // websocket消息类型(通用通知类别) const ( WEBSOCKET_COMMON_NOTIFY Websocket = "WEBSOCKET_COMMON_NOTIFY" //通用回调通知(1级消息,单向通信) diff --git a/server/websocket/internal/logic/datatransferlogic.go b/server/websocket/internal/logic/datatransferlogic.go index 7a11444b..e7a52f30 100644 --- a/server/websocket/internal/logic/datatransferlogic.go +++ b/server/websocket/internal/logic/datatransferlogic.go @@ -322,7 +322,10 @@ func (w *wsConnectItem) heartbeat() { w.debug = nil } //发送心跳信息 - if err := w.conn.WriteMessage(websocket.PongMessage, nil); err != nil { + if err := w.conn.WriteMessage(websocket.PongMessage, w.respondDataFormat(constants.WEBSOCKET_HEARTBEAT, websocket_data.HeartBeatMsg{ + WsCount: currentWebsocketConnectCount, + CombineCount: currentRequestCombineApiCount, + })); err != nil { logx.Error("发送心跳信息异常,关闭连接:", w.uniqueId, err) w.close() return diff --git a/utils/websocket_data/base_data.go b/utils/websocket_data/base_data.go index d9d4476d..69f8c33f 100644 --- a/utils/websocket_data/base_data.go +++ b/utils/websocket_data/base_data.go @@ -23,3 +23,9 @@ type ConnectErrMsg struct { type ConnectUnAuth struct { Message string `json:"message"` } + +// 心跳数据 +type HeartBeatMsg struct { + WsCount int `json:"ws_count"` + CombineCount int `json:"combine_count"` +}