From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期一, 23 十二月 2024 16:13:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java | 35 +++++++++++++++++++++++++----------
1 files changed, 25 insertions(+), 10 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 75f66fe..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
@@ -22,12 +22,6 @@
public static ConfigurableApplicationContext applicationContext;
- // 瑙e喅鏃犳硶娉ㄥ叆mapper闂 //浣跨敤鏂规硶
- // homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class);
- public static void setApplicationContext(ConfigurableApplicationContext configurableApplicationContext) {
- WebSocketServer.applicationContext = configurableApplicationContext;
- }
-
private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
private List<String> messages;
/**
@@ -111,8 +105,6 @@
JSONObject jsonObject = new JSONObject();
jsonObject.set("message", text);
this.messages.add(text);
- this.sendMessage(jsonObject.toString()); // JSONUtil.toJsonStr(jsonObject)
-
}
@OnError
@@ -127,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