#
Junjie
2025-03-29 5dd930fc0ad19cfc75df3a035336dd003e7c22ef
src/main/java/com/zy/core/thread/impl/NyShuttleThread.java
@@ -89,7 +89,7 @@
            while (true) {
                try {
                    read();
                    Thread.sleep(50);
                    Thread.sleep(200);
                } catch (Exception e) {
                    log.error("ShuttleThread Fail", e);
                }
@@ -194,7 +194,7 @@
            }
            JSONObject result = JSON.parseObject(sb.toString());//得到响应结果集
            if (!socketResults.isEmpty() && socketResults.size() >= 5) {
            if (!socketResults.isEmpty() && socketResults.size() >= 100) {
                socketResults.remove(0);//清理头节点
            }
            socketResults.add(result);//添加数据
@@ -203,7 +203,7 @@
        }
    }
    public JSONObject getRequestBody(String type) {
    public JSONObject getRequestBody(String type, String taskId) {
        try {
            // 获取服务器响应
            JSONObject result = null;
@@ -226,7 +226,14 @@
                }
                if (!responseType.equals(type)) {
                    continue;//响应ID与请求ID不一致,不在调试模式下
                    continue;//响应类型与请求类型不一致,不在调试模式下
                }
                if (taskId != null) {
                    String responseTaskId = resultBody.get("taskId").toString();
                    if (!responseTaskId.equals(taskId)) {
                        continue;//响应ID与请求ID不一致,不在调试模式下
                    }
                }
                result = socketResult;
@@ -395,7 +402,7 @@
                socketResults.remove(removeIdx);
            }
        } catch (Exception e) {
//            e.printStackTrace();
            e.printStackTrace();
        }
    }
@@ -705,6 +712,23 @@
            return true;
        }
        return false;
    }
    @Override
    public boolean isFault() {
        if (this.shuttleProtocol.getErrorCode() == null
                || this.shuttleProtocol.getMode() == null
                || this.shuttleProtocol.getExtend() == null
        ) {
            return false;
        }
        InnerSuhttleExtend extend = (InnerSuhttleExtend) this.shuttleProtocol.getExtend();
        boolean res = this.shuttleProtocol.getMode() == 0
                && !this.shuttleProtocol.getErrorCode().equals("0")
                && extend.getSuspendState() == 1
                ;
        return res;
    }
    @Override
@@ -1075,17 +1099,20 @@
//            System.out.println("Sent message to server: " + JSON.toJSONString(httpCommand));
        String requestType = null;
        String taskId = null;
        try {
            requestType = httpCommand.getRequest().getBody().get("requestType").toString();
            taskId = httpCommand.getRequest().getBody().get("taskId").toString();
        } catch (Exception e) {
            return null;
//            return null;
            //taskId可能取空,不报错,正常情况
        }
        // 获取服务器响应
        // 尝试10次
        // 尝试100次
        JSONObject result = null;
        for (int i = 0; i < 10; i++) {
            result = getRequestBody(requestType);
        for (int i = 0; i < 100; i++) {
            result = getRequestBody(requestType, taskId);
            if (result == null) {
                try {
                    Thread.sleep(100);