src/main/java/com/zy/common/utils/NyHttpUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/NyShuttleThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/common/utils/NyHttpUtils.java
@@ -16,6 +16,8 @@ */ public class NyHttpUtils { private static final boolean DEBUG = true;//调试模式 //获取HTTP请求标准结构体 public static NyShuttleHttpCommand getHttpStandard(Integer shuttleNo, Integer wrkNo) { NyShuttleHttpCommand httpStandard = new NyShuttleHttpCommand(); @@ -279,8 +281,7 @@ } //发出请求 public static JSONObject requestCommand(Socket socket, NyShuttleHttpCommand httpCommand) { try { public static JSONObject requestCommand(Socket socket, NyShuttleHttpCommand httpCommand) throws IOException { if (socket == null) { return null; } @@ -313,20 +314,11 @@ 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与请求ID不一致 // } if (!DEBUG && responseId != httpCommand.getRequest().getHeader().getRequestId()) { return null;//响应ID与请求ID不一致,不在调试模式下 } return filterBodyData(result);//返回Body结果集 } catch (Exception e) { e.printStackTrace(); try { socket.close(); } catch (IOException exception) { exception.printStackTrace(); } } return null; } public static JSONObject filterBodyData(JSONObject data) { src/main/java/com/zy/core/thread/NyShuttleThread.java
@@ -244,6 +244,14 @@ } catch (Exception e) { e.printStackTrace(); OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向穿梭车Socket状态信息失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); try { this.socket.close(); this.socket = null; Thread.sleep(1000); this.connect(); } catch (IOException | InterruptedException exception) { e.printStackTrace(); } } } @@ -254,6 +262,7 @@ socket.setSoTimeout(60000); socket.setKeepAlive(true); this.socket = socket; log.info(MessageFormat.format("【{0}】四向穿梭车Socket链接成功 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); } catch (IOException e) { OutputQueue.SHUTTLE.offer(MessageFormat.format("【{0}】四向穿梭车Socket链接失败 ===>> [id:{1}] [ip:{2}] [port:{3}]", DateUtils.convert(new Date()), slave.getId(), slave.getIp(), slave.getPort())); } @@ -283,7 +292,21 @@ } //发出请求 JSONObject result = NyHttpUtils.requestCommand(socket, command); JSONObject result = null; try { result = NyHttpUtils.requestCommand(socket, command); } catch (IOException e) { try { this.socket.close(); this.socket = null; Thread.sleep(1000); this.connect(); } catch (IOException exception) { exception.printStackTrace(); } catch (InterruptedException ex) { throw new RuntimeException(ex); } } if (result == null) { return false;//请求失败 }