From 1a2b07f01ba4616fd9e894dddf474b56d020158c Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期一, 07 四月 2025 15:18:51 +0800 Subject: [PATCH] 整理版本 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/Worker.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 96 insertions(+), 0 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/Worker.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/Worker.java new file mode 100644 index 0000000..ba73ff4 --- /dev/null +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-simulate-rtu/src/main/java/com/dy/simRtu/tcpClient/Worker.java @@ -0,0 +1,96 @@ +package com.dy.simRtu.tcpClient; + +import com.dy.common.util.Callback; +import com.dy.simRtu.ServerProperties; +import com.dy.simRtu.tcpClient.upData.UpData; +import com.dy.simRtu.tcpClient.upData.UpHeartBeat; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.mina.core.session.IoSession; + +/** + * @Author: liurunyu + * @Date: 2024/12/6 8:49 + * @Description + */ +public class Worker { + + private static final Logger log = LogManager.getLogger(TcpClUnit.class) ; + + private static Worker instance = new Worker() ; + + private static TcpClUnitConfigVo confVo ; + + public static IoSession session ; + + private Worker(){ + } + + public static Worker getInstance(TcpClUnitConfigVo confVo){ + Worker.confVo = confVo ; + return instance ; + } + + public void doStart(){ + new Thread(() -> { + Exception ex ; + while(true){ + ex = null ; + try { + new TcpConnect().createSession( + confVo.mwServerIp, + confVo.mwServerPort, + confVo.connectTimeout, + new TcpHandler(), + new Callback() { + @Override + public void call(Object obj) { + if (obj == null) { + log.error("鍒涘缓缃戠粶浼氳瘽杩斿洖涓簄ull"); + } else { + Worker.session = (IoSession) obj; + log.info("鎴愬姛鍒涘缓涓庨�氫俊涓棿浠剁殑缃戠粶杩炴帴"); + UpData.setSession(Worker.session); + heartBeat() ; + } + } + @Override + public void call(Object... objs) { + } + @Override + public void exception(Exception e) { + } + }); + }catch (Exception e){ + ex = e ; + } + if(ex == null){ + break ; + }else{ + try{ + Thread.sleep(100); + }catch (Exception e){ + } + } + } + }).start(); + } + + + private void heartBeat(){ + new Thread(new Runnable(){ + @Override + public void run() { + while(true){ + try { + UpHeartBeat.upCd02Data(ServerProperties.rtuAddr); + Thread.sleep(30000L); + //Thread.sleep(30000000L); + }catch (Exception e){ + continue; + } + } + } + }).start(); + } +} -- Gitblit v1.8.0