From 4b067b4db5c1f2a068d6e27cc138118810785e2d Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 07 五月 2025 10:47:13 +0800
Subject: [PATCH] 1、创建命令生成器模块,实现部分命令数据生成,还需继续实现其他命令; 2、完善代码。
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpIoHandler.java | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 103 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpIoHandler.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpIoHandler.java
new file mode 100644
index 0000000..fe53fdb
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/channel/tcp/TcpIoHandler.java
@@ -0,0 +1,103 @@
+package com.dy.common.mw.channel.tcp;
+
+import org.apache.mina.core.service.IoHandlerAdapter;
+import org.apache.mina.core.session.IdleStatus;
+import org.apache.mina.core.session.IoSession;
+
+public class TcpIoHandler extends IoHandlerAdapter {
+
+ private TcpUnitAdapter adapter ;
+
+ private boolean stop = false ;//涓簍rue鏃讹紝鍋滄TCP鏈嶅姟锛屽苟鎶婂凡缁廡CP杩炴帴鏂繛鎺�
+
+ public TcpIoHandler(TcpUnitAdapter adapter){
+ this.adapter = adapter ;
+ }
+
+ public void stop(){
+ stop = true ;
+ }
+
+ public void recover(){
+ this.stop = false ;
+ }
+
+ /**
+ * 鍒涘缓浜嗕細璇�
+ */
+ @Override
+ public void sessionCreated(IoSession session) throws Exception {
+ if(stop){
+ session.closeNow() ;
+ }else{
+ super.sessionCreated(session);
+ }
+ }
+
+ /**
+ * 浼氳瘽open鏃跺洖璋冪殑鏂规硶
+ */
+ public void sessionOpened(IoSession session) throws Exception {
+ if(stop){
+ session.closeNow() ;
+ }else{
+ this.adapter.newSessionEventCallback().sessionOpened(session);
+ }
+ }
+
+ /**
+ * 浼氳瘽绌洪棽
+ */
+ @Override
+ public void sessionIdle(IoSession session, IdleStatus status)
+ throws Exception {
+ super.sessionIdle(session, status);
+ }
+
+ /**
+ * 杈撳叆鍏抽棴
+ */
+ @Override
+ public void inputClosed(IoSession session) throws Exception {
+ super.inputClosed(session);
+ }
+
+ /**
+ * 缃戠粶鍏抽棴
+ */
+ @Override
+ public void sessionClosed(IoSession session) throws Exception {
+ this.adapter.newSessionEventCallback().sessionClosed(session);
+ super.sessionClosed(session);
+ }
+
+ /**
+ * 鍙戠敓寮傚父
+ */
+ @Override
+ public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
+ this.adapter.newSessionEventCallback().exceptionCaught(session, cause);
+ }
+
+ /**
+ * 娑堟伅鍙戦�佷簡
+ */
+ @Override
+ public void messageSent(IoSession session, Object message) throws Exception {
+ super.messageSent(session, message);
+ this.adapter.newSessionEventCallback().messageSended(session, message);
+ }
+
+ /**
+ * 鎺ユ敹鍒版暟鎹悗锛屽洖璋冪殑鏂规硶锛岃繘琛屾暟鎹鐞�
+ */
+ @Override
+ public void messageReceived(IoSession session, Object message) throws Exception {
+ if(stop){
+ session.closeNow() ;
+ }else{
+ this.adapter.newSessionEventCallback().messageReceived(session, message);
+ }
+ }
+
+}
--
Gitblit v1.8.0