From d0e483165493dd5b76896bc61e03f2322858a074 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期三, 30 八月 2023 08:45:59 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/NyHttpUtils.java | 18 ++++++++++++++++--
src/main/java/com/zy/core/thread/NyShuttleThread.java | 5 ++---
2 files changed, 18 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/zy/common/utils/NyHttpUtils.java b/src/main/java/com/zy/common/utils/NyHttpUtils.java
index 12d8c2c..a049062 100644
--- a/src/main/java/com/zy/common/utils/NyHttpUtils.java
+++ b/src/main/java/com/zy/common/utils/NyHttpUtils.java
@@ -5,6 +5,7 @@
import com.zy.common.model.NavigateNode;
import com.zy.core.model.command.NyShuttleHttpCommand;
import com.zy.core.model.protocol.NyShuttleProtocol;
+import springfox.documentation.spring.web.json.Json;
import java.io.*;
import java.net.Socket;
@@ -303,14 +304,27 @@
}
} while (response != null);
// System.out.println("Received response from server: " + sb);
- return JSON.parseObject(sb.toString());
+
+ JSONObject result = JSON.parseObject(sb.toString());//寰楀埌鍝嶅簲缁撴灉闆�
+ if (!result.get("msgType").equals("responseMsg")) {//涓嶆槸鍝嶅簲鍐呭
+ return null;
+ }
+
+ JSONObject resultResponse = JSON.parseObject(result.get("response").toString());
+ JSONObject resultHeader = JSON.parseObject(resultResponse.get("header").toString());
+ int responseId = Integer.parseInt(resultHeader.get("responseId").toString());
+ if (responseId != httpCommand.getRequest().getHeader().getRequestId()) {
+ return null;//鍝嶅簲ID涓庤姹侷D涓嶄竴鑷�
+ }
+
+ return filterBodyData(result);//杩斿洖Body缁撴灉闆�
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
- public static JSONObject filterData(JSONObject data) {
+ public static JSONObject filterBodyData(JSONObject data) {
Object response = data.get("response");
if (response == null) {
return null;
diff --git a/src/main/java/com/zy/core/thread/NyShuttleThread.java b/src/main/java/com/zy/core/thread/NyShuttleThread.java
index 687766c..3d3d8a0 100644
--- a/src/main/java/com/zy/core/thread/NyShuttleThread.java
+++ b/src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -111,11 +111,10 @@
//----------璇诲彇鍥涘悜绌挎杞︾姸鎬�-----------
NyShuttleHttpCommand readStatusCommand = NyHttpUtils.getReadStatusCommand(slave.getId());
- JSONObject result = NyHttpUtils.requestCommand(socket, readStatusCommand);
- if (result == null) {
+ JSONObject jsonObject = NyHttpUtils.requestCommand(socket, readStatusCommand);
+ if (jsonObject == null) {
OutputQueue.SHUTTLE.offer(MessageFormat.format("銆恵0}銆戝洓鍚戠┛姊溅plc鐘舵�佷俊鎭け璐� ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort()));
}else {
- JSONObject jsonObject = NyHttpUtils.filterData(result);
//鎵嬪姩鐘舵��/鑷姩鐘舵��
shuttleProtocol.setWorkingMode(jsonObject.getInteger("workingMode"));
//鍏佽鐘舵�� 0:杩愯涓�1锛氱┖闂�
--
Gitblit v1.9.1