| New file | 
 |  |  | 
 |  |  | package com.dy.simRtu202404.tcpClient; | 
 |  |  |  | 
 |  |  | import com.dy.common.util.ByteUtil; | 
 |  |  | import org.apache.logging.log4j.LogManager; | 
 |  |  | import org.apache.logging.log4j.Logger; | 
 |  |  | import org.apache.mina.core.service.IoHandlerAdapter; | 
 |  |  | import org.apache.mina.core.session.IdleStatus; | 
 |  |  | import org.apache.mina.core.session.IoSession; | 
 |  |  | import org.apache.mina.filter.FilterEvent; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  |  * @Author: liurunyu | 
 |  |  |  * @Date: 2025/02/26 11:10 | 
 |  |  |  * @Description | 
 |  |  |  */ | 
 |  |  | public class TcpHandler extends IoHandlerAdapter { | 
 |  |  |  | 
 |  |  |     private static Logger log = LogManager.getLogger(TcpHandler.class.getName()) ; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void sessionCreated(IoSession session) throws Exception { | 
 |  |  |         super.sessionCreated(session); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void sessionOpened(IoSession session) throws Exception { | 
 |  |  |         super.sessionOpened(session); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void sessionClosed(IoSession session) throws Exception { | 
 |  |  |         super.sessionClosed(session); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void sessionIdle(IoSession session, IdleStatus status) throws Exception { | 
 |  |  |         super.sessionIdle(session, status); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void exceptionCaught(IoSession session, Throwable cause) throws Exception { | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void messageReceived(IoSession session, Object message) throws Exception { | 
 |  |  |         if(message != null){ | 
 |  |  |             byte[] bs = (byte[])message ; | 
 |  |  |             log.info("收到中间件数据:" + ByteUtil.bytes2Hex(bs, true)); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void messageSent(IoSession session, Object message) throws Exception { | 
 |  |  |         if(message != null){ | 
 |  |  |             byte[] bs = (byte[])message ; | 
 |  |  |             log.info("\n网络发送了数据," | 
 |  |  |                     + (session==null?"":(session.getRemoteAddress() != null?("中间件网址是:" + session.getRemoteAddress().toString()):"")) | 
 |  |  |                     + ("\n数据:" + ByteUtil.bytes2Hex(bs, true))); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void inputClosed(IoSession session) throws Exception { | 
 |  |  |         session.closeNow(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * {@inheritDoc} | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public void event(IoSession session, FilterEvent event) throws Exception { | 
 |  |  |     } | 
 |  |  | } |