|  |  | 
 |  |  | 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) ; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  |