From 7797c3b20a9b41a831ec5f396e5cc916cf813edc Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 08 八月 2024 09:35:36 +0800 Subject: [PATCH] 1、通信中间件实现上行数据任务:更新物理卡和虚拟卡的剩余金额; 2、完善代码。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpSessionCache.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 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 e821b47..c7aff2f 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 @@ -23,7 +23,43 @@ * 2023-12-19瀹炴祴锛屽彂鐜癏ashtable骞朵笉绾跨▼瀹夊叏锛屾墍浠ュ簲鐢ㄤ簡HashMap鍜宻ynchronized */ private static HashMap<String, TcpSession> sessionTable = new HashMap<String, TcpSession>() ; - + + + /** + * 寰楀埌淇℃伅 + * @return + */ + public static Integer[] info(){ + Integer rtuTotalConnect = 0 ;//宸茬粡杩炴帴杩囦腑闂翠欢鐨凴TU鎬绘暟锛堝寘鎷湪绾夸笌绂荤嚎鐨勶級 + Integer rtuTotalOnLine = 0 ;//鍦ㄧ嚎RTU鎬绘暟 + Integer rtuTotalOffLine = 0 ;//绂荤嚎RTU鎬绘暟 + synchronized (sessionTable){ + rtuTotalConnect = sessionTable.size() ; + Collection<TcpSession> col = sessionTable.values() ; + for(TcpSession se : col){ + if(se.ioSession.isConnected()){ + rtuTotalOnLine ++ ; + }else{ + rtuTotalOffLine ++ ; + } + } + } + return new Integer[] {rtuTotalConnect, rtuTotalOnLine, rtuTotalOffLine} ; + } + + /** + * 鍏抽棴鎵�鏈夌綉缁滆繛鎺� + */ + public static void closeAllSessions(){ + synchronized (sessionTable){ + Collection<TcpSession> col = sessionTable.values() ; + for(TcpSession se : col){ + se.ioSession.closeNow() ; + } + sessionTable.clear(); + } + } + /** * 鍔犲叆鏂扮殑IoSession * @param rtuAddr -- Gitblit v1.8.0