From c531149478942c18ccf99c2533b7b5fd8edc91b9 Mon Sep 17 00:00:00 2001 From: wuyouming666 <2265557248@qq.com> Date: 星期三, 24 七月 2024 12:36:33 +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 | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 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 a67c8f2..fa81984 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 @@ -43,8 +43,6 @@ public void onOpen(Session session, @PathParam("username") String username) { this.username = username; this.session = session; - this.session.setMaxTextMessageBufferSize(12*1024*1024); - this.session.setMaxBinaryMessageBufferSize(12*1024*1024); List<WebSocketServer> webSocketServers = sessionMap.get(username); if (webSocketServers == null) { ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>(); @@ -98,7 +96,7 @@ * * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅 */ - @OnMessage(maxMessageSize = 5242880) + @OnMessage public void onMessage(String message, Session session, @PathParam("username") String username) { log.info("鏈嶅姟绔敹鍒扮敤鎴穟sername={}鐨勬秷鎭�:{}", username, message); JSONObject obj = JSONUtil.parseObj(message); @@ -121,9 +119,27 @@ 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(); + 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); + } + } } catch (Exception e) { - log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e); + log.error("鍙戦�佹秷鎭粰瀹㈡埛绔け璐ワ細{}", e.getMessage(), e); } } -- Gitblit v1.8.0