From 9a332594f1efa890997f9ba8d3a4d964f1b68b72 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 30 六月 2025 08:57:39 +0800
Subject: [PATCH] 1、中间件设备日志文件针对FBox设备优化;2、表阀一体机功能码92返回结果判断bug修改;3、remote模块中实现表阀一体机协议的功能码9D(正常远程关阀)。
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java
new file mode 100644
index 0000000..284dcb6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/DataCodecFactory.java
@@ -0,0 +1,39 @@
+package com.dy.common.mw.channel.tcp;
+
+import org.apache.mina.filter.codec.ProtocolCodecFactory;
+import org.apache.mina.filter.codec.ProtocolEncoder;
+import org.apache.mina.filter.codec.ProtocolDecoder;
+import org.apache.mina.core.session.IoSession;
+
+public class DataCodecFactory implements ProtocolCodecFactory {
+
+ private TcpUnitAdapter adapter ;
+ private boolean stop = false ;//涓簍rue鏃讹紝鍋滄TCP鏈嶅姟锛屽苟鎶婂凡缁廡CP杩炴帴鏂繛鎺�
+
+ public DataCodecFactory(TcpUnitAdapter adapter) {
+ this.adapter = adapter ;
+ }
+
+ public void stop(){
+ stop = true ;
+ }
+
+ public void recover(){
+ this.stop = false ;
+ }
+
+
+ public ProtocolEncoder getEncoder(IoSession ioSession) {
+ if(stop){
+ ioSession.closeNow() ;
+ }
+ return new DataEncoder();
+ }
+
+ public ProtocolDecoder getDecoder(IoSession ioSession) {
+ if(stop){
+ ioSession.closeNow() ;
+ }
+ return new DataDecoder(adapter.newPrefixedDataAvailableHandle());
+ }
+}
--
Gitblit v1.8.0