From baf1e2f3ed70f568e60e472ed65856c01ccf9a32 Mon Sep 17 00:00:00 2001 From: pengm <674192343@qq.com> Date: Tue, 3 Feb 2026 15:27:49 +0800 Subject: [PATCH] 1.当websoket一直是连接状态时,不需要一直创建websoket,只需要发送信息确认,关闭时关闭老的websoket对象,断网或是非正常状态关闭,恢复网络后需要重新连接 --- src/mes/indexMes/index.js | 4 ++-- src/models/app.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/mes/indexMes/index.js b/src/mes/indexMes/index.js index bfcbf7a..89ba098 100644 --- a/src/mes/indexMes/index.js +++ b/src/mes/indexMes/index.js @@ -348,8 +348,8 @@ const useIndexMesEvent = props => { useEffect(() => { const connectWs = () => { - if (!wsRef.current) { - console.log("================webSocket不存在,创建webSocket连接======================"); + if (!wsRef.current || wsRef.current.readyState === WebSocket.CLOSED || wsRef.current.readyState === WebSocket.CLOSING) { + console.log("================webSocket不存在或已关闭,创建webSocket连接======================"); props.dispatch({ type: "app/createWebSocket", payload: { reStart: true, dispatch: props.dispatch } diff --git a/src/models/app.js b/src/models/app.js index eff22e9..700fa84 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -595,8 +595,8 @@ export default { // 清理旧的WebSocket连接和定时器 let oldWebSocket = yield select(state => state.app.webSocket); if (oldWebSocket) { - console.log('发现旧的WebSocket连接,准备清理:', oldWebSocket); - console.log('旧WebSocket连接状态:', oldWebSocket.readyState); + // console.log('发现旧的WebSocket连接,准备清理:', oldWebSocket); + // console.log('旧WebSocket连接状态:', oldWebSocket.readyState); try { // 移除所有事件监听器 oldWebSocket.onopen = null; @@ -609,7 +609,7 @@ export default { // 关闭连接 if (oldWebSocket.readyState === WebSocket.OPEN || oldWebSocket.readyState === WebSocket.CONNECTING) { oldWebSocket.close(1000, '正常关闭,准备重连'); - console.log('已关闭旧的WebSocket连接'); + // console.log('已关闭旧的WebSocket连接'); } // 断开引用,帮助垃圾回收 oldWebSocket = null; -- libgit2 0.22.2