| | |
| | | package com.dy.testClient.tcpClient; |
| | | |
| | | import com.dy.common.util.Callback; |
| | | import org.apache.mina.core.future.ConnectFuture; |
| | | import org.apache.mina.core.session.IoSession; |
| | | import org.apache.mina.filter.codec.ProtocolCodecFilter; |
| | |
| | | * @param job rtu工作类 |
| | | * @param host 服务器URI |
| | | * @param port 服务器端口 |
| | | * @param connectTimeout 连接超时时长 |
| | | * @param handler 数据处理者 |
| | | * @param callback 回调 |
| | | * @return 网络会话 |
| | | */ |
| | | public IoSession createSession(String rtuAddr, MyThreadJob job, String host , int port , int connectTimeout , TcpHandler handler) throws Exception{ |
| | | public void createSession(String rtuAddr, |
| | | MyThreadJob job, |
| | | String host , |
| | | int port , |
| | | int connectTimeout , |
| | | TcpHandler handler, |
| | | Callback callback) throws Exception{ |
| | | SocketConnector connector = new NioSocketConnector(); |
| | | connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new LocalCodecFactory())); |
| | | connector.setHandler(handler); |
| | |
| | | IoSession se = connectFuture.getSession(); |
| | | se.setAttribute(rtuAddrKey, rtuAddr) ; |
| | | se.setAttribute(threadJobKey, job) ; |
| | | return se ; |
| | | callback.call(se) ; |
| | | } |
| | | |
| | | |