From 7f5d914898c9d05942705ce7d80c0d14a8174df8 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 19 十二月 2023 15:57:14 +0800 Subject: [PATCH] 1、common模块优化代码; 2、通信中间件优化代码,队列遍历由递归调用改为while循环,原因是队列数据量大时递归调易产生栈溢出,HashTable多线程应用时仍有线程安全问题,改为HashMap+同步锁; 3、RTU模拟器和模拟器控制服务增加report命令 --- pipIrr-platform/pipIrr-mw/pipIrr-mwTest-server/src/main/java/com/dy/testServer/console/Command.java | 34 +++++++++++++++++++++++++++------- 1 files changed, 27 insertions(+), 7 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-server/src/main/java/com/dy/testServer/console/Command.java b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-server/src/main/java/com/dy/testServer/console/Command.java index 8e746e3..cca3779 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-server/src/main/java/com/dy/testServer/console/Command.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mwTest-server/src/main/java/com/dy/testServer/console/Command.java @@ -20,7 +20,8 @@ commands = new String[]{ "config 鏌ョ湅閰嶇疆淇℃伅", "show 鏄剧ずmwTest鎯呭喌", - "start 鍚姩mwTest涓婃姤鏁版嵁", + "start 鍚姩mwTest寤虹珛TCP杩炴帴鏁版嵁", + "report 鍚姩mwTest RTU涓婃姤鏁版嵁", "exit 閫�鍑�", }; } @@ -35,7 +36,9 @@ } else if (command.equals("show")) { show(prtWrt); } else if (command.equals("start")) { - start(prtWrt); + startNetConnect(prtWrt); + } else if (command.equals("report")) { + startRtuReport(prtWrt); } else if(command.equals("exit")){ exit = true ; } else { @@ -65,7 +68,9 @@ prtWrt.println(" 姣忎釜mwTest鍒嗛厤鐨凴tuAddr鏁帮細" + ServerProperties.rtuAddrPerMwTest); prtWrt.println(" 閫氫俊涓棿浠禝P锛�" + ServerProperties.tcpServerIp); prtWrt.println(" 閫氫俊涓棿浠剁鍙o細" + ServerProperties.tcpServerPort); + prtWrt.println(" mwTest鍙戦�佹暟鎹棿闅旓紙绉掞級锛�" + ServerProperties.sendInterval); prtWrt.println(" mwTest姣廟tuAddr鍙峰彂閫佹暟鎹鏁帮細" + ServerProperties.sendTimes); + prtWrt.println(" mwTest姣忎竴杞鍙戦�佹暟鎹紝鍏朵腑鍖呮嫭蹇冭烦鍙戦�佹鏁帮細" + ServerProperties.heartbeatTimes); prtWrt.println("鏈湇鍔MI Server閰嶇疆"); String ip = null ; try { @@ -99,12 +104,20 @@ prtWrt.println(" rtuAddr鑼冨洿锛�" + sta.confVo.rtuAddrStart + "--" + sta.confVo.rtuAddrEnd); } if(sta.startVo != null){ - prtWrt.println(" 涓婃姤鏁版嵁锛�" + (sta.startVo.start?"宸茬粡寮�濮�":"鏈紑濮�")); + prtWrt.println(" TCP杩炴帴锛�" + (sta.startVo.start?"宸茬粡寮�濮�":"鏈紑濮�")); }else{ - prtWrt.println(" 涓婃姤鏁版嵁锛氭湭寮�濮�") ; + prtWrt.println(" TCP杩炴帴锛氭湭寮�濮�") ; + } + if(sta.reportVo != null){ + prtWrt.println(" RTU涓婃姤鏁版嵁锛�" + (sta.reportVo.report?"宸茬粡寮�濮�":"鏈紑濮�")); + }else{ + prtWrt.println(" RTU涓婃姤鏁版嵁锛氭湭寮�濮�") ; } if(sta.count != null){ prtWrt.println(" 宸茬粡涓婃姤鏁版嵁锛�" + sta.count + "鏉�"); + } + if(sta.overCount != null){ + prtWrt.println(" 宸茬粡瀹屾垚涓婃姤鏁版嵁锛�" + sta.overCount + "鍙癛TU"); } if(sta.over != null && sta.over){ prtWrt.println(" 涓婃姤鏁版嵁宸茬粡瀹屾垚锛屽叡鐢ㄦ椂锛�" + sta.seconds + "绉�"); @@ -115,11 +128,18 @@ prtWrt.println(""); } - private static void start(PrintWriter prtWrt){ + private static void startNetConnect(PrintWriter prtWrt){ prtWrt.println(""); - prtWrt.println(" 宸茬粡鍏佽mwTest涓婃姤鏁版嵁浜�"); + prtWrt.println(" 宸茬粡鍏佽mwTest寤虹珛TCP杩炴帴"); prtWrt.println(""); - Manager.enablemwTestStart = true ; + Manager.enablemwTestStartTcpConnect = true ; + } + + private static void startRtuReport(PrintWriter prtWrt){ + prtWrt.println(""); + prtWrt.println(" 宸茬粡鍏佽mwTest RTU涓婃姤鏁版嵁浜�"); + prtWrt.println(""); + Manager.enablemwTestStartRtuReport = true ; } -- Gitblit v1.8.0