title: Timeout ignored with wrong ip
body: <p>I'm working on an Android app (Java 8, apache.commons.net.ftp 3.6, Min: API 24/target: API 27) that connects to an FTP server but I'm experiencing a weird problem:</p>
  
  <p>If I connect to one of the public test servers (e.g. <code>speedtest.tele2.net</code>) or the IP address directly (e.g. <code>10.1.1.123</code>), it works fine.</p>
  
  <p>If I add a typo in a "normal" address on purpose (e.g. <code>sspeedtest.tele2.net</code>), I get the expected <code>java.net.UnknownHostException</code> but if I add a typo to an IP address, no matter if it's in the same network or not (e.g. <code>10.1.1.223</code>), nothing else happens - no exception, no error, no result, even after the set timeout time has passed.</p>
  
  <p>Code:</p>
  
  <pre><code>FTPClient f = new FTPClient();
  f.setDefaultTimeout(5000); //5 seconds
  
  try {
      f.connect(url,port);
      boolean b = f.login(username,password);
      Log.d(TAG,"logged in="+b+", connected="+f.isConnected());
  } catch (IOException e) {
      e.printStackTrace();
  }
  </code></pre>
  
  <p>I let it run a little bit longer and finally, after 1 minute and 16 seconds an exception was thrown:</p>
  
  <p><code>W/System.err: java.net.ConnectException: Connection refused</code></p>
  
  <p>I've tried this multiple times and the exception always seems to be thrown after 1:16.</p>
  
  <p>How do I make this respect the default timeout too? Is there a different one I have to use?</p>