From 05c3f58d6561c89019532bdeb65365f8129504c3 Mon Sep 17 00:00:00 2001 From: wuzeyu <1223318623@qq.com> Date: 星期三, 16 十月 2024 08:47:45 +0800 Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java | 4 + pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java | 21 ++++++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsVo.java | 27 +++++++++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsDeal.java | 22 +++++++++++ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java | 11 +++++ 5 files changed, 84 insertions(+), 1 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java index 04d21ae..55869f8 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java @@ -124,6 +124,27 @@ return null ; } } + + /** + * 寰楀埌鎵�鏈夊湪绾夸笌绂荤嚎鏁伴噺缁熻 + * @return [0]=鍦ㄧ嚎鏁伴噺锛孾2]涓婄嚎杩囷紝浣嗗綋鍓嶇绾跨殑鏁伴噺 + */ + public static Integer[] allOnLineStateStatistics(){ + synchronized (sessionTable){ + Integer[] arr = new Integer[]{0, 0} ; + Iterator<Entry<String, TcpSession>> it = sessionTable.entrySet().iterator() ; + Entry<String, TcpSession> entry = null ; + while(it.hasNext()){ + entry = it.next() ; + if(entry.getValue().ioSession.isConnected()){ + arr[0]++ ; + }else{ + arr[1]++ ; + } + } + return arr ; + } + } /** * 寰楀埌鎵�鏈夊湪绾挎儏鍐� diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java index 5b498e3..927c1b0 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/CommandInnerDeaLer.java @@ -23,6 +23,8 @@ return this.clock(com) ; }else if(code.equals(CodeLocal.onLine)){ return this.onLine(com) ; + }else if(code.equals(CodeLocal.onLineStatistics)){ + return this.onLineStateStatistics(com) ; }else if(code.equals(CodeLocal.allProtocols)){ return this.allProtocols(com) ; }else if(code.equals(CodeLocal.stopTcpSv)){ @@ -54,6 +56,15 @@ } /** + * 缁熻鍦ㄧ嚎涓庝笉鍦ㄧ嚎鎯呭喌 + * @throws Exception + */ + private Command onLineStateStatistics(Command command) throws Exception{ + RtuOnLineStateStatisticsVo vo = new RtuOnLineStateStatisticsDeal().deal() ; + return ReturnCommand.successed("鏌ヨ鎵�鏈夋祴绔欏湪绾挎儏鍐电粨鏋�", command.getId(), command.getCode(), vo) ; + } + + /** * 鏌ヨ鎵�鏈塕TU鍗忚閰嶇疆 * @throws Exception */ diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java index 2c3e0fa..8629628 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/CodeLocal.java @@ -5,7 +5,9 @@ public static final String clock = "LCD0000" ;//鏌ヨ鐩戞帶涓棿浠舵椂閽� public static final String onLine = "LCD0001" ;//鏌ヨ鎵�鏈塕TU鍦ㄧ嚎鎯呭喌 - + + public static final String onLineStatistics = "LCD0002" ;//鏌ヨ鎵�鏈塕TU鍦ㄧ嚎鎯呭喌 + public static final String allProtocols = "LCD0100" ;//鏌ヨ鎵�鏈夊崗璁厤缃� public static final String stopTcpSv = "LCD0110" ;//鍋滄TCP鏈嶅姟锛屼笉鍐嶆帴鍏ユ柊鐨凾CP杩炴帴锛屽凡缁廡CP杩炴帴鐨勫叏閮ㄦ柇杩炴帴 diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsDeal.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsDeal.java new file mode 100644 index 0000000..839f366 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsDeal.java @@ -0,0 +1,22 @@ +package com.dy.rtuMw.server.local.localProtocol; + +import com.dy.rtuMw.server.forTcp.TcpSessionCache; + +/** + * @Author: liurunyu + * @Date: 2024/10/15 15:56 + * @Description + */ +public class RtuOnLineStateStatisticsDeal { + + /** + * 缁熻鍦ㄧ嚎涓庝笉鍦ㄧ嚎鎯呭喌 + */ + public RtuOnLineStateStatisticsVo deal(){ + RtuOnLineStateStatisticsVo vo = new RtuOnLineStateStatisticsVo() ; + Integer[] onOff = TcpSessionCache.allOnLineStateStatistics() ; + vo.onLineNum = onOff[0] ; + vo.offLineNum = onOff[1] ; + return vo ; + } +} diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsVo.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsVo.java new file mode 100644 index 0000000..f387280 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/local/localProtocol/RtuOnLineStateStatisticsVo.java @@ -0,0 +1,27 @@ +package com.dy.rtuMw.server.local.localProtocol; + +/** + * @Author: liurunyu + * @Date: 2024/10/15 15:56 + * @Description + */ +public class RtuOnLineStateStatisticsVo { + public Integer onLineNum; + public Integer offLineNum; + + public Integer getOnLineNum() { + return onLineNum; + } + + public void setOnLineNum(Integer onLineNum) { + this.onLineNum = onLineNum; + } + + public Integer getOffLineNum() { + return offLineNum; + } + + public void setOffLineNum(Integer offLineNum) { + this.offLineNum = offLineNum; + } +} -- Gitblit v1.8.0