wu
2024-07-24 4fec20f7e2324aa44f3921e61d5a3345366552c9
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);