| 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 { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|