From 4fec20f7e2324aa44f3921e61d5a3345366552c9 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期三, 24 七月 2024 14:22:41 +0800
Subject: [PATCH] 增加数据推送判断条件
---
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java | 29 +++++++++++++++++------------
UI-Project/src/utils/WebSocketService.js | 5 +++--
2 files changed, 20 insertions(+), 14 deletions(-)
diff --git a/UI-Project/src/utils/WebSocketService.js b/UI-Project/src/utils/WebSocketService.js
index 310d4c8..4ad03b7 100644
--- a/UI-Project/src/utils/WebSocketService.js
+++ b/UI-Project/src/utils/WebSocketService.js
@@ -18,10 +18,11 @@
if (!msg.data) {
return;
}
- messages += msg.data;
+
const isLastChunk = msg.data.endsWith('<END>');
//鏄惁涓烘渶鍚庝竴鍧楁秷鎭�
- if(isLastChunk) {
+ messages += msg.data;
+ if(isLastChunk||msg.data.length<50000) {
messages= messages.replace('<END>', '');
const obj = JSON.parse(messages);
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 fa81984..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
@@ -122,21 +122,26 @@
if(this.session.isOpen()){
int maxChunkSize = 50000; // 瀹氫箟鏈�澶х殑鍒嗗潡澶у皬
int length = message.length();
- 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);
+ 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>";
+ // 鍒ゆ柇鏄惁鏄渶鍚庝竴鍧楁秷鎭�
+ boolean isLastChunk = (i == chunks - 1);
+ if(isLastChunk==true){
+ chunk+="<END>";
+ }
+ // 鍙戦�佸垎鍧楁秷鎭紝骞朵紶閫掓槸鍚︽槸鏈�鍚庝竴鍧楁秷鎭殑鏍囪瘑
+ this.session.getBasicRemote().sendText(chunk);
}
- // 鍙戦�佸垎鍧楁秷鎭紝骞朵紶閫掓槸鍚︽槸鏈�鍚庝竴鍧楁秷鎭殑鏍囪瘑
- this.session.getBasicRemote().sendText(chunk);
+ }else{
+ this.session.getBasicRemote().sendText(message);
}
+
}
} catch (Exception e) {
log.error("鍙戦�佹秷鎭粰瀹㈡埛绔け璐ワ細{}", e.getMessage(), e);
--
Gitblit v1.8.0