Example usage for org.apache.mina.transport.nio NioTcpClient connect

List of usage examples for org.apache.mina.transport.nio NioTcpClient connect

Introduction

In this page you can find the example usage for org.apache.mina.transport.nio NioTcpClient connect.

Prototype

@Override
public IoFuture<IoSession> connect(SocketAddress remoteAddress) 

Source Link

Usage

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();/*  ww  w .ja  v 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) {
    }
}