|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.dy.common.mw.UnitAdapterInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitStartedCallbackInterface; | 
|---|
|  |  |  | import com.dy.common.mw.UnitCallbackInterface; | 
|---|
|  |  |  | import com.dy.common.util.Callback; | 
|---|
|  |  |  | import com.dy.pipIrrMwTestRtu.ServerProperties; | 
|---|
|  |  |  | import com.dy.pipIrrMwTestRtu.tcpClient.upData.UpData; | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void start(UnitStartedCallbackInterface callback) throws Exception { | 
|---|
|  |  |  | public void start(UnitCallbackInterface callback) throws Exception { | 
|---|
|  |  |  | System.out.println("Tcp Client模块成功启动"); | 
|---|
|  |  |  | this.doStart(); | 
|---|
|  |  |  | callback.call(null) ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void stop(UnitStartedCallbackInterface callback) throws Exception { | 
|---|
|  |  |  | public void stop(UnitCallbackInterface callback) throws Exception { | 
|---|
|  |  |  | callback.call(null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | private void doStart(){ | 
|---|
|  |  |  | new Thread(new Runnable(){ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void run() { | 
|---|
|  |  |  | Exception ex = null ; | 
|---|
|  |  |  | 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("创建网络会话返回为null"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TcpClUnit.session = (IoSession) obj; | 
|---|
|  |  |  | log.info("成功创建与通信中间件的网络连接"); | 
|---|
|  |  |  | UpData.setSession(TcpClUnit.session); | 
|---|
|  |  |  | heartBeat() ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 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("创建网络会话返回为null"); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | TcpClUnit.session = (IoSession) obj; | 
|---|
|  |  |  | log.info("成功创建与通信中间件的网络连接"); | 
|---|
|  |  |  | UpData.setSession(TcpClUnit.session); | 
|---|
|  |  |  | heartBeat() ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void call(Object... objs) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void call(Object... objs) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void exception(Exception e) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void exception(Exception e) { | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | ex = e ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(ex == null){ | 
|---|
|  |  |  | break ; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | Thread.sleep(100); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | ex = e ; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(ex == null){ | 
|---|
|  |  |  | break ; | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | try{ | 
|---|
|  |  |  | Thread.sleep(100); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | new Thread(new Runnable(){ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public void run() { | 
|---|
|  |  |  | while(true){ | 
|---|
|  |  |  | if(ServerProperties.onlyOneHeartBeat){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | UpHeartBeat.upCd02Data(ServerProperties.rtuAddr); | 
|---|
|  |  |  | Thread.sleep(30000L); | 
|---|
|  |  |  | //Thread.sleep(30000000L); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | while(true){ | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | UpHeartBeat.upCd02Data(ServerProperties.rtuAddr); | 
|---|
|  |  |  | Thread.sleep(30000L); | 
|---|
|  |  |  | //Thread.sleep(30000000L); | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|