public class Client  
      {  
        private EventLoopGroup loop = new NioEventLoopGroup();  
        public static void main( String[] args )  
        {  
          new Client().run();  
        }  
        public Bootstrap createBootstrap(Bootstrap bootstrap, EventLoopGroup eventLoop) {  
          if (bootstrap != null) {  
            final MyInboundHandler handler = new MyInboundHandler(this);  
            bootstrap.group(eventLoop);  
            bootstrap.channel(NioSocketChannel.class);  
            bootstrap.option(ChannelOption.SO_KEEPALIVE, true);  
            bootstrap.handler(new ChannelInitializer<SocketChannel>() {  
              @Override  
              protected void initChannel(SocketChannel socketChannel) throws Exception {  
                socketChannel.pipeline().addLast(handler);  
              }  
            });  
            bootstrap.remoteAddress("localhost", 8888);
            bootstrap.connect().addListener(new ConnectionListener(this)); 
          }  
          return bootstrap;  
        }  
        public void run() {  
          createBootstrap(new Bootstrap(), loop);
        }  
      }