wu
2024-07-24 4fec20f7e2324aa44f3921e61d5a3345366552c9
增加数据推送判断条件
2个文件已修改
34 ■■■■■ 已修改文件
UI-Project/src/utils/WebSocketService.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/WebSocketServer.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
        
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);