From 1ed40ad4af53128228b93239be8f171f4e4e991a Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期四, 25 七月 2024 15:27:42 +0800
Subject: [PATCH] 2024-07-25 朱宝民 完成8个报文查询结构(整点报、开关阀报、定时报、工作报)
---
pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/rmiClient/RmiClUnit.java | 130 +++++++++++++++++++++++++++++++++++--------
1 files changed, 106 insertions(+), 24 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/rmiClient/RmiClUnit.java b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/rmiClient/RmiClUnit.java
index 8d30bb8..4f9fdad 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/rmiClient/RmiClUnit.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-client/src/main/java/com/dy/testClient/rmiClient/RmiClUnit.java
@@ -73,6 +73,8 @@
}
public RmiFrameWork getRmiFrameWork(){
+ System.setProperty("java.rmi.server.hostname", confVo.svUrl) ;
+ System.out.println("Rmi寤虹珛杩炴帴璇锋眰鏈嶅姟绔細" + confVo.svUrl + ":" + confVo.svPort + "/" + confVo.svContext);
RmiClient rmiCl = new RmiClient(confVo.svUrl, confVo.svPort, confVo.svContext) ;
return rmiCl.getRmiInterface() ;
}
@@ -84,7 +86,7 @@
RmiRequestVo rqVo = new RmiRequestVo() ;
rqVo.id = id ;
rqVo.token = token ;
- rqVo.code = Code.cd4 ;
+ rqVo.code = Code.cd5;
rqVo.count = count ;
String json = rqVo.toJson() ;
frmWork.syncRequest(json) ;
@@ -94,13 +96,30 @@
}
//鎶婃暟鎹笂鎶ュ畬鎴愭儏鍐� 涓婃姤缁檓wTestServer
- public void reportHadReportOver(Long seconds){
+ public void reportHadReportOver(Integer count){
try {
Thread.sleep(100L);
RmiRequestVo rqVo = new RmiRequestVo() ;
rqVo.id = id ;
rqVo.token = token ;
- rqVo.code = Code.cd5 ;
+ rqVo.code = Code.cd6;
+ rqVo.overCount = count ;
+ String json = rqVo.toJson() ;
+ frmWork.syncRequest(json) ;
+ } catch (Exception e) {
+ log.error("鎶婃暟鎹笂鎶ュ畬鎴愭儏鍐� 涓婃姤缁檓wTestServer澶辫触" + e.getMessage());
+ }
+ }
+
+
+ //鎶婃暟鎹笂鎶ュ畬鎴愭儏鍐� 涓婃姤缁檓wTestServer
+ public void allOver(Long seconds){
+ try {
+ Thread.sleep(100L);
+ RmiRequestVo rqVo = new RmiRequestVo() ;
+ rqVo.id = id ;
+ rqVo.token = token ;
+ rqVo.code = Code.cd7;
rqVo.over = true ;
rqVo.seconds = seconds ;
String json = rqVo.toJson() ;
@@ -178,15 +197,21 @@
if(rVo != null){
ServerProperties.rtuAddrStart = rVo.rtuAddrStart;
ServerProperties.rtuAddrEnd = rVo.rtuAddrEnd;
- ServerProperties.serverIp = rVo.serverIp;
- ServerProperties.serverPort = rVo.serverPort;
+ ServerProperties.tcpServerIp = rVo.tcpServerIp;
+ ServerProperties.tcpServerPort = rVo.tcpServerPort;
+ ServerProperties.sendInterval = rVo.sendInterval ;
+ ServerProperties.heartbeatTimes = rVo.heartbeatTimes ;
ServerProperties.sendTimes = rVo.sendTimes ;
+ ServerProperties.sendOverThenCloseConnect = rVo.sendOverThenCloseConnect ;
log.info("寰楀埌閰嶇疆鎴愬姛");
log.info(" 寮�濮婻tuAddr=" + ServerProperties.rtuAddrStart);
log.info(" 鎴RtuAddr=" + ServerProperties.rtuAddrEnd);
- log.info(" mwAccept鏈嶅姟IP=" + ServerProperties.serverIp);
- log.info(" mwAccept鏈嶅姟绔彛=" + ServerProperties.serverPort);
- log.info(" 姣廼mei涓婃姤鏁版嵁娆℃暟=" + ServerProperties.sendTimes);
+ log.info(" mwAccept鏈嶅姟IP=" + ServerProperties.tcpServerIp);
+ log.info(" mwAccept鏈嶅姟绔彛=" + ServerProperties.tcpServerPort);
+ log.info(" 鍙戦�佹暟鎹棿闅�=" + ServerProperties.sendTimes);
+ log.info(" 姣忚疆娆″彂閫佸績璺虫鏁�=" + ServerProperties.heartbeatTimes);
+ log.info(" 姣廟TU涓婃姤鏁版嵁杞=" + ServerProperties.sendTimes);
+ log.info(" 鍙戦�佸畬鏁版嵁鍚庯紝鏄惁鍏抽棴TCP杩炴帴(1鏄紝0鍚�)=" + ServerProperties.sendOverThenCloseConnect);
break ;
}else{
log.error("rmi寰楀埌閰嶇疆澶辫触锛歫son杞琑esConfigVo涓簄ull");
@@ -215,13 +240,14 @@
}
}
if(!error){
- getStart(frmWork) ;
+ getStartTcpConnect(frmWork) ;
}
}
- //浠巑wTestServer寰楀埌寮�濮嬩笂鎶ユ暟鎹殑璇峰厑璁�
- private void getStart(RmiFrameWork frmWork){
- log.info("绛夊緟鏈嶅姟绔厑璁镐笂鎶ユ暟鎹�");
+ //浠巑wTestServer寰楀埌寮�濮婽CP杩炴帴鐨勮鍏佽
+ private void getStartTcpConnect(RmiFrameWork frmWork){
+ log.info("绛夊緟鏈嶅姟绔厑璁哥綉缁滆繛鎺�");
+ boolean error = false ;
while(true){
try {
Thread.sleep(100L);
@@ -232,37 +258,93 @@
String json = rqVo.toJson() ;
Object rObj = frmWork.syncRequest(json) ;
if(rObj != null){
- RmiResponseVo rspVo = RmiResponseVo.jsonToObject(String.valueOf(rObj), ResStartVo.class) ;
+ RmiResponseVo rspVo = RmiResponseVo.jsonToObject(String.valueOf(rObj), ResStartTcpConnectVo.class) ;
if(rspVo != null){
if(rspVo.success){
- if(rspVo.obj != null && rspVo.obj instanceof ResStartVo){
- ResStartVo rVo = (ResStartVo)rspVo.obj ;
+ if(rspVo.obj != null && rspVo.obj instanceof ResStartTcpConnectVo){
+ ResStartTcpConnectVo rVo = (ResStartTcpConnectVo)rspVo.obj ;
if(rVo != null){
if(rVo.start){
- ServerProperties.startWork = true ;
- log.info("鍏佽涓婃姤鏁版嵁宸ヤ綔浜�( ^_^ )");
+ ServerProperties.startTcpConnectWork = true ;
+ log.info("鍏佽TCP缃戠粶杩炴帴浜�( ^_^ )");
+ error = false ;
break ;
}
}else{
- log.error("rmi璇锋眰鍚姩澶辫触锛歫son杞琑esStartVo涓簄ull");
+ error = true ;
+ log.error("rmi璇锋眰TCP缃戠粶杩炴帴澶辫触锛歫son杞琑esStartTcpConnectVo涓簄ull");
}
}else{
- log.error("rmi璇锋眰鍚姩澶辫触锛氭湇鍔$杩斿洖ResStartVo涓簄ull");
+ error = true ;
+ log.error("rmi璇锋眰TCP缃戠粶杩炴帴澶辫触锛氭湇鍔$杩斿洖ResStartTcpConnectVo涓簄ull");
}
}else{
- log.error("rmi璇锋眰鍚姩澶辫触锛氭湇鍔$杩斿洖閿欒锛�" + rspVo.errorInfo);
+ error = true ;
+ log.error("rmi璇锋眰TCP缃戠粶杩炴帴澶辫触锛氭湇鍔$杩斿洖閿欒锛�" + rspVo.errorInfo);
}
}else{
- log.error("rmi璇锋眰鍚姩澶辫触锛氭湇鍔$杩斿洖鐨凴miResponseVo涓簄ull");
+ error = true ;
+ log.error("rmi璇锋眰TCP缃戠粶杩炴帴澶辫触锛氭湇鍔$杩斿洖鐨凴miResponseVo涓簄ull");
}
}else{
- log.error("rmi璇锋眰鍚姩澶辫触锛氭湇鍔$杩斿洖json涓簄ull");
+ error = true ;
+ log.error("rmi璇锋眰TCP缃戠粶杩炴帴澶辫触锛氭湇鍔$杩斿洖json涓簄ull");
}
} catch (Exception e) {
- log.error("rmi璇锋眰鍚姩澶辫触" + e.getMessage());
+ error = true ;
+ log.error("rmi璇锋眰TCP缃戠粶杩炴帴澶辫触" + e.getMessage());
+ continue ;
+ }
+ }
+ if(!error){
+ getStartRtuReport(frmWork) ;
+ }
+ }
+
+ //浠巑wTestServer寰楀埌寮�濮婻TU涓婃姤鏁版嵁鐨勮鍏佽
+ private void getStartRtuReport(RmiFrameWork frmWork){
+ log.info("绛夊緟鏈嶅姟绔厑璁镐笂鎶ユ暟鎹�");
+ while(true){
+ try {
+ Thread.sleep(100L);
+ RmiRequestVo rqVo = new RmiRequestVo() ;
+ rqVo.id = id ;
+ rqVo.token = token ;
+ rqVo.code = Code.cd4 ;
+ String json = rqVo.toJson() ;
+ Object rObj = frmWork.syncRequest(json) ;
+ if(rObj != null){
+ RmiResponseVo rspVo = RmiResponseVo.jsonToObject(String.valueOf(rObj), ResStartRtuReportVo.class) ;
+ if(rspVo != null){
+ if(rspVo.success){
+ if(rspVo.obj != null && rspVo.obj instanceof ResStartRtuReportVo){
+ ResStartRtuReportVo rVo = (ResStartRtuReportVo)rspVo.obj ;
+ if(rVo != null){
+ if(rVo.report){
+ ServerProperties.startRtuReportWork = true ;
+ log.info("鍏佽RTU涓婃姤鏁版嵁宸ヤ綔浜�( ^_^ )");
+ break ;
+ }
+ }else{
+ log.error("rmi璇锋眰Rtu涓婃姤鏁版嵁澶辫触锛歫son杞琑esStartRtuReportVo涓簄ull");
+ }
+ }else{
+ log.error("rmi璇锋眰Rtu涓婃姤鏁版嵁澶辫触锛氭湇鍔$杩斿洖ResStartRtuReportVo涓簄ull");
+ }
+ }else{
+ log.error("rmi璇锋眰Rtu涓婃姤鏁版嵁澶辫触锛氭湇鍔$杩斿洖閿欒锛�" + rspVo.errorInfo);
+ }
+ }else{
+ log.error("rmi璇锋眰Rtu涓婃姤鏁版嵁澶辫触锛氭湇鍔$杩斿洖鐨凴miResponseVo涓簄ull");
+ }
+ }else{
+ log.error("rmi璇锋眰Rtu涓婃姤鏁版嵁澶辫触锛氭湇鍔$杩斿洖json涓簄ull");
+ }
+ } catch (Exception e) {
+ log.error("rmi璇锋眰Rtu涓婃姤鏁版嵁澶辫触" + e.getMessage());
continue ;
}
}
}
-
+
}
\ No newline at end of file
--
Gitblit v1.8.0