From 7d885c1d4c86f40927af50e6e7bfa13aac0c2180 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 21 十二月 2023 21:47:15 +0800 Subject: [PATCH] 1、common模块优化代码,Command命令中增加RTU命令结果返回webRul; 2、通信中间件增加了接收http下发RTU命令和内部命令的Controler; 3、RTU模拟器和控制器增加了上报完数据是否关闭TCP连接的控制。 --- pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/MyThreadJob.java | 41 +++++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 12 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/MyThreadJob.java b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/MyThreadJob.java index e50537f..0f58f3e 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/MyThreadJob.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/tcpClient/MyThreadJob.java @@ -23,9 +23,10 @@ public static final int connectTimeout = 3000 ; - public int sendTimes = 0 ;//鍙戦�佹暟鎹鏁� - public int heartbeatTimes = 0 ;//涓婃姤蹇冭烦娆℃暟 + public int sendTimes = 1 ;//鍙戦�佹暟鎹鏁� + public int heartbeatTimes = 1 ;//涓婃姤蹇冭烦娆℃暟 + public long overStart = 0L; public boolean isOver = false ; public MyThreadJob(){ @@ -38,21 +39,35 @@ @Override public void execute() throws Exception { - log.info("RTU" + rtuAddr + "寮�濮嬩换鍔�"); - if(session != null){ - log.info("RTU" + rtuAddr + "灏嗚鎵ц" + ServerProperties.sendTimes + "杞浠诲姟锛屽綋鍓嶈疆娆℃槸" + sendTimes); - if(sendTimes <= ServerProperties.sendTimes){ - sendDataOfP206V1_0_0() ; - }else{ - this.jobOver() ; + if(!this.isOver){ + if(session != null){ + if(sendTimes <= ServerProperties.sendTimes){ + log.info("RTU" + rtuAddr + "寮�濮嬩换鍔�"); + log.info("RTU" + rtuAddr + "灏嗚鎵ц" + ServerProperties.sendTimes + "杞浠诲姟锛屽綋鍓嶈疆娆℃槸" + sendTimes); + sendDataOfP206V1_0_0() ; + }else{ + if(ServerProperties.sendOverThenCloseConnect == 1){ + log.info("RTU" + rtuAddr + "绛夊緟涓�浼氾紝浠ユ帴鏀堕�氫俊涓棿浠朵笅琛屾暟鎹�"); + if(overStart == 0){ + overStart = System.currentTimeMillis() ; + }else{ + long now = System.currentTimeMillis() ; + if(now - overStart >= 30 * 1000){ + this.jobOver() ; + } + } + }else{ + this.jobOver() ; + } + } } } } private void sendDataOfP206V1_0_0(){ try{ - if(heartbeatTimes >= ServerProperties.heartbeatTimes){ - heartbeatTimes = 0 ; + if(heartbeatTimes > ServerProperties.heartbeatTimes){ + heartbeatTimes = 1 ; this.sendReportData() ; TcpClUnit.clientSendData(); sendTimes++ ; @@ -86,7 +101,9 @@ } private void jobOver(){ - session.closeOnFlush() ; + if(ServerProperties.sendOverThenCloseConnect == 1){ + session.closeOnFlush() ; + } this.isOver = true ; TcpClUnit.clientOver() ; } -- Gitblit v1.8.0