From ff1be9fa2dba6eaffc449d09e62998348ea3b830 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期二, 19 九月 2023 08:00:36 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/common/utils/NyHttpUtils.java | 65 +++++++++++++++++++-------------
1 files changed, 38 insertions(+), 27 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..3391a79 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;
@@ -14,6 +15,8 @@
* 鐗涚溂鍥涘悜绌挎杞TTP璇锋眰宸ュ叿绫�
*/
public class NyHttpUtils {
+
+ private static final boolean DEBUG = true;//璋冭瘯妯″紡
//鑾峰彇HTTP璇锋眰鏍囧噯缁撴瀯浣�
public static NyShuttleHttpCommand getHttpStandard(Integer shuttleNo, Integer wrkNo) {
@@ -278,39 +281,47 @@
}
//鍙戝嚭璇锋眰
- public static JSONObject requestCommand(Socket socket, NyShuttleHttpCommand httpCommand) {
- try {
- if (socket == null) {
- return null;
- }
- // 鑾峰彇杈撳叆娴佸拰杈撳嚭娴�
- BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- OutputStreamWriter writer = new OutputStreamWriter(socket.getOutputStream());
- writer.write(JSON.toJSONString(httpCommand) + "\r\n");
- writer.flush();
+ public static JSONObject requestCommand(Socket socket, NyShuttleHttpCommand httpCommand) throws IOException {
+ if (socket == null) {
+ return null;
+ }
+ // 鑾峰彇杈撳叆娴佸拰杈撳嚭娴�
+ BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
+ OutputStreamWriter writer = new OutputStreamWriter(socket.getOutputStream());
+ writer.write(JSON.toJSONString(httpCommand) + "\r\n");
+ writer.flush();
// System.out.println("Sent message to server: " + JSON.toJSONString(httpCommand));
- // 璇诲彇鏈嶅姟鍣ㄧ殑鍝嶅簲
- StringBuffer sb = new StringBuffer();
- String response = null;
- char[] chars = new char[2048];//缂撳啿鍖�
- do {
- reader.read(chars);
- String trim = new String(chars).trim();
- sb.append(trim);
- if (sb.lastIndexOf("\r\n") != -1) {
- break;
- }
- } while (response != null);
+ // 璇诲彇鏈嶅姟鍣ㄧ殑鍝嶅簲
+ StringBuffer sb = new StringBuffer();
+ String response = null;
+ char[] chars = new char[2048];//缂撳啿鍖�
+ do {
+ reader.read(chars);
+ String trim = new String(chars).trim();
+ sb.append(trim);
+ if (sb.lastIndexOf("\r\n") != -1) {
+ break;
+ }
+ } while (response != null);
// System.out.println("Received response from server: " + sb);
- return JSON.parseObject(sb.toString());
- } catch (Exception e) {
- e.printStackTrace();
+
+ JSONObject result = JSON.parseObject(sb.toString());//寰楀埌鍝嶅簲缁撴灉闆�
+ if (!result.get("msgType").equals("responseMsg")) {//涓嶆槸鍝嶅簲鍐呭
+ return null;
}
- 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 (!DEBUG && responseId != httpCommand.getRequest().getHeader().getRequestId()) {
+ return null;//鍝嶅簲ID涓庤姹侷D涓嶄竴鑷达紝涓嶅湪璋冭瘯妯″紡涓�
+ }
+
+ return filterBodyData(result);//杩斿洖Body缁撴灉闆�
}
- public static JSONObject filterData(JSONObject data) {
+ public static JSONObject filterBodyData(JSONObject data) {
Object response = data.get("response");
if (response == null) {
return null;
--
Gitblit v1.9.1