From 4b99aedffe4e64425c059611dbb89d7d28b9ed06 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 07 五月 2025 15:28:04 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV
---
pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java | 87 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java
new file mode 100644
index 0000000..7bccddf
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/forTcp/TcpIoSessionCallback.java
@@ -0,0 +1,87 @@
+package com.dy.rtuMw.server.forTcp;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.apache.mina.core.session.IoSession;
+
+import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr;
+import com.dy.common.mw.channel.tcp.TcpIoSessionEventCallback;
+import com.dy.common.mw.core.CoreUnit;
+import com.dy.rtuMw.server.tasks.RtuUpTask;
+
+public class TcpIoSessionCallback implements TcpIoSessionEventCallback{
+
+ private static Logger log = LogManager.getLogger(TcpIoSessionCallback.class.getName());
+
+ /**
+ * 缃戠粶杩炴帴鎵撳紑
+ */
+ public void sessionOpened(IoSession session) throws Exception {
+ log.info("缃戠粶杩炴帴寤虹珛锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()) ;
+ if(session != null) {
+ String rtuAddr = (String) session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr);
+ if(rtuAddr != null && !rtuAddr.trim().equals("")){
+ RtuLogDealer.log(rtuAddr, "缃戠粶鎺ュ叆");
+ }
+ }
+ }
+
+ /**
+ * 缃戠粶杩炴帴鍏抽棴
+ */
+ @Override
+ public void sessionClosed(IoSession session) throws Exception {
+ if(session != null){
+ String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ;
+
+ if(rtuAddr != null && !rtuAddr.trim().equals("")){
+ //璁板綍鐘舵��
+ RtuStatusDealer.offLine(rtuAddr);
+ RtuLogDealer.log(rtuAddr, "缃戠粶杩炴帴鍏抽棴");
+ }
+ log.info("缃戠粶杩炴帴鍏抽棴锛�"
+ + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))) ;
+ //+ (session==null?"":(session.getRemoteAddress() == null?"":(session.getRemoteAddress().toString()==null?"":("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()))))) ;
+ }
+ }
+ /**
+ * 鍙戠敓寮傚父
+ */
+ public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
+ if(session != null && cause != null){
+ String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ;
+ log.error("缃戠粶浼氳瘽鍙戠敓寮傚父锛�"
+ + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))
+ + (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):""))
+ + "\n寮傚父娑堟伅锛�" + cause.getMessage(), cause);
+ }
+ }
+
+ /**
+ * TCP閫氶亾鍙戦�佸畬鏁版嵁鍚庯紝鍥炶皟鐨勬柟娉曪紝杩涜鍚庣画鏁版嵁澶勭悊
+ */
+ public void messageSended(IoSession session, Object message) throws Exception {
+ String rtuAddr = (String)session.getAttribute(TcpIoSessionAttrIdIsRtuAddr.sessionArrRtuAddr) ;
+ log.info("缃戠粶鍙戦�佷簡鏁版嵁锛�"
+ + (rtuAddr==null?"":("缁堢鍦板潃鏄細" + rtuAddr))
+ + (session==null?"":(session.getRemoteAddress() != null?("锛岀粓绔綉鍧�鏄細" + session.getRemoteAddress().toString()):"")) );
+ }
+
+ /**
+ * TCP閫氶亾鎺ユ敹鍒版暟鎹紝鍥炶皟鐨勬柟娉曪紝杩涜鏁版嵁澶勭悊
+ * 姝ゆ柟娉曡皟鐢ㄥ悗锛屼笂琛屾暟鎹劚绂讳簡NIO绾跨▼锛岃繘鍏ヤ簡鏍稿績绾跨▼
+ */
+ @Override
+ public void messageReceived(IoSession session, Object message)throws Exception {
+ if(session != null && message != null){
+ RtuUpTask task = new RtuUpTask() ;
+ task.data = new Object[]{session, (byte[])message} ;
+ try{
+ CoreUnit.getInstance().pushCoreTask(task);
+ }catch(Exception e){
+ log.error(e.getMessage(), e);
+ }
+ }
+ }
+
+}
--
Gitblit v1.8.0