package io.craft.atom.nio; import io.craft.atom.io.AbstractIoHandler; import io.craft.atom.io.Channel; import java.util.concurrent.atomic.AtomicInteger; /** * @author mindwind * @version 1.0, Mar 15, 2014 */ public class NioEchoClientHandler extends AbstractIoHandler { private AtomicInteger counter = new AtomicInteger(); @Override public void channelOpened(Channel<byte[]> channel) { send(channel); } @Override public void channelRead(Channel<byte[]> channel, byte[] bytes) { System.out.println("ECHO-RECV: " + new String(bytes)); try { Thread.sleep(1000); } catch (InterruptedException e) {} send(channel); } private void send(Channel<byte[]> channel) { String toSend = Integer.toString(counter.incrementAndGet()); channel.write(toSend.getBytes()); System.out.println("ECHO-SENT: " + toSend); } }