@@ -0,0 +1,2759 @@
+/*%0A * JBoss, Home of Professional Open Source%0A * Copyright 2008, JBoss Inc., and individual contributors as indicated%0A * by the @authors tag. See the copyright.txt in the distribution for a%0A * full listing of individual contributors.%0A *%0A * This is free software; you can redistribute it and/or modify it%0A * under the terms of the GNU Lesser General Public License as%0A * published by the Free Software Foundation; either version 2.1 of%0A * the License, or (at your option) any later version.%0A *%0A * This software is distributed in the hope that it will be useful,%0A * but WITHOUT ANY WARRANTY; without even the implied warranty of%0A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU%0A * Lesser General Public License for more details.%0A *%0A * You should have received a copy of the GNU Lesser General Public%0A * License along with this software; if not, write to the Free%0A * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA%0A * 02110-1301 USA, or see the FSF site: http://www.fsf.org.%0A */%0A%0Apackage org.jboss.xnio.samples;%0A%0Aimport org.jboss.xnio.Xnio;%0Aimport org.jboss.xnio.Connector;%0Aimport org.jboss.xnio.ConfigurableFactory;%0Aimport org.jboss.xnio.IoFuture;%0Aimport static org.jboss.xnio.IoUtils.safeClose;%0Aimport org.jboss.xnio.channels.ConnectedStreamChannel;%0Aimport java.io.IOException;%0Aimport java.net.SocketAddress;%0Aimport java.net.InetSocketAddress;%0Aimport java.net.InetAddress;%0A%0A/**%0A * A simple echo client that will connect to the given IP address and echo everything back to it.%0A */%0Apublic final class EchoClient %7B%0A    private EchoClient() %7B%0A    %7D%0A%0A    public static void main(String%5B%5D args) throws IOException, InterruptedException %7B%0A        if (args.length != 2) %7B%0A            System.err.println(%22Usage: java %22 + EchoClient.class.getName() + %22 %3Chost%3E %3Cport%3E%22);%0A            return;%0A        %7D%0A        final Xnio xnio = Xnio.createNio();%0A        try %7B%0A            final ConfigurableFactory%3CConnector%3CSocketAddress,ConnectedStreamChannel%3CSocketAddress%3E%3E%3E connectorFactory = xnio.createTcpConnector();%0A            final Connector%3CSocketAddress, ConnectedStreamChannel%3CSocketAddress%3E%3E connector = connectorFactory.create();%0A            final IoFuture%3CConnectedStreamChannel%3CSocketAddress%3E%3E ioFuture = connector.connectTo(new InetSocketAddress(InetAddress.getByName(args%5B0%5D), Integer.parseInt(args%5B1%5D)), new EchoHandler());%0A            final ConnectedStreamChannel%3CSocketAddress%3E channel = ioFuture.get();%0A            try %7B%0A                while (channel.isOpen()) %7B%0A                    Thread.sleep(1000L);%0A                %7D%0A                channel.close();%0A                xnio.close();%0A            %7D finally %7B%0A                safeClose(channel);%0A            %7D%0A        %7D finally %7B%0A            safeClose(xnio);%0A        %7D%0A    %7D%0A%7D%0A

Add echo client