¿Por qué URLConnection expiró después de más de 6 minutos en lugar de 5 segundos?
Estoy copiando este método literalmente de mi aplicación, que aún no está completo, pero intenta proporcionarme un seguimiento de pila de tiempo de espera si las cosas no van bien:
protected boolean isHttpAlive() {
boolean isHttpOk = false;
HttpURLConnection httpConnection = null;
try {
URL gurl = new URL("http://www.amazon.com/");
URLConnection connection = gurl.openConnection();
connection.setConnectTimeout(5 * 1000); // 5 seconds!
httpConnection = (HttpURLConnection) connection;
int responseCode = httpConnection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK)
isHttpOk = true;
}
catch (Exception e) {
e.printStackTrace();
}
finally {
if (httpConnection != null)
httpConnection.disconnect();
}
return isHttpOk;
}
Ahora en uno de mis dispositivos de prueba (Droid), cuando hay un problema, obtengoLa excepción pero solo despues6 minutos y 36 segundos, no 5 segundos como lo puse en el código anterior.
La excepción de tiempo de espera se produce para elgetResponseCode()
.
¿Por qué?
¿Qué me estoy perdiendo?