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