Неожиданное исключение SocketTimeout на планшете Android 3 - PullRequest
1 голос
/ 24 февраля 2012

У меня есть приложение, которое считывает данные из URL, используя

final URL url = new URL("http", ip, 80, path);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("Authorization", "Basic " + StringUtils.toBase64(user + ":" + pass));
conn.setConnectTimeout(timeout);
conn.setReadTimeout(timeout);
while (true) {
  readLineAndOutputOk();
}

с тайм-аутом 60000. Источник возвращает данные каждые 15 секунд, поэтому тайм-аут не должен быть.Но 2:19 после открытия URL-соединения возникает java.net.SocketException: истекло время ожидания соединения .Я проверил это на Huawai Mediapad 7 .Тот же код хорошо работает на некоторых устройствах Android 2, телефонах и планшетах.

Кто-нибудь уже сталкивался с этой проблемой или это устройство специфично?

edit: (уточнение, что данные получены, а время ожидания непричина.) Я зарегистрировал, что данные получаются каждые 15 с .Здесь нет паузы, нет разорванного соединения.Исключение выдается, например, через 4 с после получения последних данных.

...