Dlaczego URLConnection miałby przekroczyć limit czasu po 6 minutach zamiast 5 sekundach?
Kopiuję tę metodę dosłownie z mojej aplikacji, która nie jest jeszcze kompletna, ale próbuje dostarczyć mi stosu limitu czasu, jeśli sprawy nie idą gładko:
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;
}
Teraz na jednym z moich urządzeń testowych (Droid), gdy pojawia się problem, dostajęwyjątek ale tylko po6 minut i 36 sekund, nie 5 sekund, jak ustawiłem w powyższym kodzie.
Wyjątek timeout jest generowany dlagetResponseCode()
.
Czemu?
czego mi brakuje?