From 70aeac289c132085e91d59dc82bc1facd41889fa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 24 二月 2025 15:33:53 +0800
Subject: [PATCH] 有关表阀一体机(王江海制定)通信协议: 1、根据新版本协议,解析部分更新; 2、根据测试一体阀协议数据处理需求与逻辑,进行表阀一体机数据处理。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java |   36 ++++++++++++++++++++++--------------
 1 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java
index 2b8d31a..7528501 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpUnit.java
@@ -13,7 +13,7 @@
 
 import com.dy.common.mw.UnitAdapterInterface;
 import com.dy.common.mw.UnitInterface;
-import com.dy.common.mw.UnitStartedCallbackInterface;
+import com.dy.common.mw.UnitCallbackInterface;
 
 @SuppressWarnings("unused")
 public class TcpUnit implements UnitInterface {
@@ -30,16 +30,21 @@
 	public static TcpUnit getInstance(){
 		return instance ;
 	}
-	
+
 	/**
-	 * 鎶奍oSession浼氳瘽鐨処D灞炴�ц缃埌IoSession灞炴�т腑
+	 * 鎶奍oSession浼氳瘽鐨処D灞炴�у強鍗忚鍚嶇О鐗堟湰鍙疯缃埌IoSession灞炴�т腑
+	 * @param session
+	 * @param rtuAddr
+	 * @param protocolName
+	 * @param protocolVersion
 	 * @throws Exception
 	 */
-	public void setIoSessionArrId(IoSession session, String id) throws Exception {
-		session.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrIdKey, id) ;
+	public void setIoSessionArrs(IoSession session, String rtuAddr, String protocolName, Short protocolVersion) throws Exception {
+		session.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr, rtuAddr) ;
+		session.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolName, protocolName) ;
+		session.setAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrProtocolVersion, protocolVersion) ;
 	}
 
-	
 	@Override
 	public void setAdapter(UnitAdapterInterface adapter) throws Exception {
 		if(adapter == null){
@@ -63,7 +68,7 @@
 	/**
 	 * 鍚姩妯″潡
 	 */
-	public void start(UnitStartedCallbackInterface callback) throws Exception {
+	public void start(UnitCallbackInterface callback) throws Exception {
 		if(!started){
 			started = true ;
 			/**
@@ -95,16 +100,19 @@
 
 			//寰楀埌缃戠粶 閫氫俊鏁版嵁杩囨护鍣ㄩ摼
 			DefaultIoFilterChainBuilder chain = acceptor.getFilterChain() ;
-			//缂栬В鐮佽繃婊ゅ櫒
+			//鐢熸垚缂栬В鐮佽繃婊ゅ櫒宸ュ巶绫�
 			dataCodecFactory = new DataCodecFactory(this.adapter) ;
+			//璁剧疆鈥減rotocol鈥濓紝鍔犲叆缂栬В鐮佽繃婊ゅ櫒锛岃繃婊ゅ櫒鍦↖oProcessor绾跨▼涓墽琛�
 			chain.addLast("protocol", new ProtocolCodecFilter(dataCodecFactory));
 			
 			/*
-			 * 涓�鑸珽xecutorFilter 閮借鏀惧湪ProtocolCodecFilter 杩囨护鍣ㄧ殑鍚庨潰锛�
-			 * 涔熷氨鏄笉瑕佽缂栬В鐮佽繍琛屽湪鐙珛鐨勭嚎绋嬩笂锛岃�屾槸瑕佽繍琛屽湪IoProcessor 鎵�鍦ㄧ殑绾跨▼锛�
-			 * 鍥犱负缂栬В鐮佸鐞嗙殑鏁版嵁閮芥槸鐢盜oProcessor 璇诲彇鍜屽彂閫佺殑锛屾病蹇呰寮�鍚柊鐨勭嚎绋嬶紝
-			 * 鍚﹀垯鎬ц兘鍙嶈�屼細涓嬮檷銆備竴鑸娇鐢‥xecutorFilter 鐨勫吀鍨嬪満鏅槸灏嗕笟鍔¢�昏緫锛堣濡傦細鑰楁椂鐨勬暟鎹簱鎿嶄綔锛�
-			 * 鏀惧湪鍗曠嫭鐨勭嚎绋嬩腑杩愯锛屼篃灏辨槸璇翠笌IO 澶勭悊鏃犲叧鐨勬搷浣滃彲浠ヨ�冭檻浣跨敤ExecutorFilter 鏉ュ紓姝ユ墽琛屻��
+			 * 涓�鑸珽xecutorFilter 閮借鏀惧湪ProtocolCodecFilter杩囨护鍣ㄧ殑鍚庨潰锛�
+			 * 涔熷氨鏄缂栬В鐮佽繍琛屽湪IoProcessor鎵�鍦ㄧ殑绾跨▼锛屽洜涓虹紪瑙g爜澶勭悊鐨勬暟鎹兘鏄�
+			 * 鐢盜oProcessor璇诲彇鍜屽彂閫佺殑锛屾病蹇呰寮�鍚柊鐨勭嚎绋嬶紝鍚﹀垯鎬ц兘鍙嶈�屼細涓嬮檷銆�
+			 * ExecutorFilter杩囩▼鍣ㄤ細鍚姩涓�涓嚎绋嬫睜锛屽鐞嗗悗缁唬鐮侀�昏緫銆�
+			 * 涓�鑸娇鐢‥xecutorFilter鐨勫吀鍨嬪満鏅槸灏嗕笟鍔¢�昏緫锛堣濡傦細鑰楁椂鐨勬暟鎹簱鎿嶄綔锛�
+			 * 鏀惧湪鍗曠嫭鐨勭嚎绋嬩腑杩愯锛屼篃灏辨槸璇翠笌IO澶勭悊鏃犲叧鐨勬搷浣滃彲浠ヨ�冭檻浣跨敤ExecutorFilter鏉ュ紓姝ユ墽琛屻��
+			 * 鏈鐢ㄦ硶锛屼娇ExecutorFilter绾跨▼姹犱腑鐨勭嚎绋嬪鐞咺OHandler锛圱cpIoHandler锛夋搷浣�
 			 */
 			chain.addLast("exceutor", new ExecutorFilter());
 
@@ -139,7 +147,7 @@
 	 * @throws Exception
 	 */
 	@Override
-	public void stop(UnitStartedCallbackInterface callback) throws Exception {
+	public void stop(UnitCallbackInterface callback) throws Exception {
 		this.tcpIoHandler.stop();
 		this.dataCodecFactory.stop();
 		this.adapter.newUnitStopCallback().callback();

--
Gitblit v1.8.0