List of usage examples for org.apache.mina.transport.nio NioTcpClient setIoHandler
@Override public void setIoHandler(final IoHandler handler)
From source file:com.semion.demo.mina.NioEchoClient.java
License:Apache License
public static void main(String[] args) { LOG.info("starting echo client"); final NioTcpClient client = new NioTcpClient(); client.setFilters();//w ww . jav a 2s. c o m client.setIoHandler(new AbstractIoHandler() { @Override public void sessionOpened(final IoSession session) { LOG.info("session opened {}", session); } @Override public void messageReceived(IoSession session, Object message) { LOG.info("message received {}", message); if (message instanceof ByteBuffer) { LOG.info("echoing"); session.write(message); } } @Override public void messageSent(IoSession session, Object message) { LOG.info("message sent {}", message); } @Override public void sessionClosed(IoSession session) { LOG.info("session closed {}", session); } }); try { IoFuture<IoSession> future = client.connect(new InetSocketAddress("localhost", 9999)); try { IoSession session = future.get(); LOG.info("session connected : {}", session); } catch (ExecutionException e) { LOG.error("cannot connect : ", e); } LOG.debug("Running the client for 25 sec"); Thread.sleep(25000); } catch (InterruptedException e) { } }