From 8a76767b0a7ad271c8487a02063590b956deb5df Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期四, 25 七月 2024 14:30:30 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java | 27 +++++++++++++++++++++++++-- 1 files changed, 25 insertions(+), 2 deletions(-) diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java index 11ce5dd..480921c 100644 --- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java +++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java @@ -119,9 +119,32 @@ public void sendMessage(String message) { try { // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message); - this.session.getBasicRemote().sendText(message); + if(this.session.isOpen()){ + int maxChunkSize = 50000; // 瀹氫箟鏈�澶х殑鍒嗗潡澶у皬 + int length = message.length(); + if(length>50000){ + int chunks = (int) Math.ceil((double) length / maxChunkSize); + //鍒嗗潡鍙戦�佹秷鎭� + for (int i = 0; i < chunks; i++) { + int startIndex = i * maxChunkSize; + int endIndex = Math.min(startIndex + maxChunkSize, length); + String chunk = message.substring(startIndex, endIndex); + + // 鍒ゆ柇鏄惁鏄渶鍚庝竴鍧楁秷鎭� + boolean isLastChunk = (i == chunks - 1); + if(isLastChunk==true){ + chunk+="<END>"; + } + // 鍙戦�佸垎鍧楁秷鎭紝骞朵紶閫掓槸鍚︽槸鏈�鍚庝竴鍧楁秷鎭殑鏍囪瘑 + this.session.getBasicRemote().sendText(chunk); + } + }else{ + this.session.getBasicRemote().sendText(message); + } + + } } catch (Exception e) { - log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e); + log.error("鍙戦�佹秷鎭粰瀹㈡埛绔け璐ワ細{}", e.getMessage(), e); } } -- Gitblit v1.8.0