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-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandObj.java |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandObj.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandObj.java
index 40dad55..573b6c7 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandObj.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-accept/src/main/java/com/dy/aceMw/server/forTcp/TcpDownCommandObj.java
@@ -50,8 +50,8 @@
 			return removeNodeFromCach ;
 		}
 		
-		TcpSession tcpSe = TcpSessionCach.getTcpSession(this.result.rtuAddr) ;
-		Boolean flag = TcpSessionCach.isConnect(this.result.rtuAddr) ;
+		TcpSession tcpSe = TcpSessionCache.getTcpSession(this.result.rtuAddr) ;
+		Boolean flag = TcpSessionCache.isConnect(this.result.rtuAddr) ;
 		if(tcpSe == null || flag == null || !flag.booleanValue()){
 			//鏈浘涓婄嚎鎴栦笉鍦ㄧ嚎
 			if(!this.result.isCachForOffLine){
@@ -73,8 +73,8 @@
 		}
 
 		Long lastSendStamp = tcpSe.lastDownComTime ;
-		if(lastSendStamp == null || (now - lastSendStamp >= ServerProperties.commandSendInterval)){
-			//鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛岃秴杩囧懡浠ら棿涓嬪彂闂撮殧锛屼互涓婃弧瓒冲彂閫佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠�
+		if(this.result.isQuickSend || lastSendStamp == null || (now - lastSendStamp >= ServerProperties.commandSendInterval)){
+			//鏈敹鍒板懡浠ょ粨鏋滐紝鏈揪鍒版渶澶у彂閫佹鏁帮紝RTU鍦ㄧ嚎锛岄�熷彂鍛戒护鎴栬秴杩囧懡浠や笅鍙戦棿闅旓紝浠ヤ笂婊¤冻鍙戦�佸懡浠ゆ潯浠讹紝鎵ц鍙戦�佸懡浠�
 			tcpSe.ioSession.write(this.result.downBuffer) ;
 			tcpSe.lastDownComTime = now ;
 			if(!this.result.hasResponse){

--
Gitblit v1.8.0