1

を使用して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 秒ごとにデータを返すため、タイムアウトはありません。しかし、URL 接続を開いた 2:19 後にjava.net.SocketException: Connection timed outがスローされます。これをHuawai Mediapad 7でテストしました。一部の Android 2 デバイス、携帯電話、およびタブレットでは、同じコードが適切に機能します。

誰かがすでにこの問題に遭遇していますか、それともこのデバイス固有のものですか?

編集:(データが受信され、実際のタイムアウトが原因ではないことを明確にします。)データが15秒ごとに受信されることをログに記録しました。一時停止も、接続の切断もありません。例外は、最後のデータが受信されてから 4 秒後にスローされます。

4

0 に答える 0