public class test
{
  public static void main(String args[])
  {
    // Create a non-blocking socket and check for connections
    try {
      // Create a non-blocking socket channel on port 8080
      SocketChannel sChannel = createSocketChannel("www.web.com", 8080);
      // Before the socket is usable, the connection must be completed
      // by calling finishConnect(), which is non-blocking
      while (!sChannel.finishConnect()) {
        // Do something else
        System.out.println("wonderful");
      }
      // Socket channel is now ready to use
    }
    catch (IOException e) {
    }
  }
  // Creates a non-blocking socket channel for the specified host name and port.
  // connect() is called on the new channel before it is returned.
  public static SocketChannel createSocketChannel(String hostName, int port) throws IOException
  {
    // Create a non-blocking socket channel
    SocketChannel sChannel = SocketChannel.open();
    sChannel.configureBlocking(false);
    // Send a connection request to the server; this method is non-blocking
    sChannel.connect(new InetSocketAddress(hostName, port));
    return sChannel;
  }
}
