package com.github.ltsopensource.nio; import com.github.ltsopensource.nio.channel.ChannelInitializer; import com.github.ltsopensource.nio.channel.NioChannel; import com.github.ltsopensource.nio.codec.Decoder; import com.github.ltsopensource.nio.codec.Encoder; import com.github.ltsopensource.nio.config.NioClientConfig; import com.github.ltsopensource.nio.handler.Futures; import com.github.ltsopensource.nio.handler.IoFutureListener; import com.github.ltsopensource.remoting.Future; import java.net.InetSocketAddress; /** * @author Robert HG (254963746@qq.com) on 2/3/16. */ public class NioClientTest { public static void main(String[] args) { NioClientConfig clientConfig = new NioClientConfig(); NioClient client = new NioClient(clientConfig, new EventHandler(), new ChannelInitializer() { @Override protected Decoder getDecoder() { return CodecFactory.getDecoder(); } @Override protected Encoder getEncoder() { return CodecFactory.getEncoder(); } }); Futures.ConnectFuture connectFuture = client.connect(new InetSocketAddress("127.0.0.1", 8221)); NioChannel channel = connectFuture.channel(); try { Thread.sleep(1000L); } catch (InterruptedException e) { e.printStackTrace(); } RemotingMsg msg = new RemotingMsg(); msg.setName("fdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasjfdasfhasfjlasj"); msg.setB(true); msg.setType(1); while (true) { try { Thread.sleep(1000L); Futures.WriteFuture writeFuture = channel.writeAndFlush(msg); writeFuture.addListener(new IoFutureListener() { @Override public void operationComplete(Future future) throws Exception { System.out.println(future.isSuccess() + " "); if (!future.isSuccess()) { future.cause().printStackTrace(); } } }); } catch (InterruptedException e) { e.printStackTrace(); } } } }