List of usage examples for org.apache.mina.transport.nio NioTcpClient NioTcpClient
public NioTcpClient()
From source file:com.hongweiyi.jmeter.client.Mina3TcpBenchmarkClient.java
License:Apache License
@Override public Object getClient(int port, final RecvCounterCallback clientCallback, String... params) throws Exception { client = new NioTcpClient(); client.getSessionConfig().setSendBufferSize(64 * 1024); client.getSessionConfig().setTcpNoDelay(true); client.setIoHandler(new IoHandler() { @Override/*from ww w . j ava2 s. c om*/ public void sessionOpened(IoSession session) { } @Override public void messageReceived(IoSession session, Object message) { if (message instanceof ByteBuffer) { ByteBuffer buffer = (ByteBuffer) message; int length = buffer.remaining(); while (length-- > 0) { // server responses only one byte clientCallback.receive(); } } else { throw new IllegalArgumentException(message.getClass().getName()); } } @Override public void exceptionCaught(IoSession session, Exception cause) { cause.printStackTrace(); } @Override public void sessionClosed(IoSession session) { } @Override public void sessionIdle(IoSession session, IdleStatus status) { } @Override public void messageSent(IoSession session, Object message) { } @Override public void serviceActivated(IoService service) { } @Override public void serviceInactivated(IoService service) { } }); try { return client.connect(new InetSocketAddress(port)).get(); } catch (InterruptedException e) { throw e; } catch (ExecutionException e) { throw e; } }
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();/*from ww w .jav a 2 s .com*/ 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) { } }