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 。我用Huawei Mediapad 7进行了测试。相同的代码在某些 Android 2 设备、手机和平板电脑上运行良好。

有人已经遇到过这个问题,还是这个设备是特定的?

编辑:(澄清收到数据并且没有真正的超时是原因。)我已经记录了每 15s 收到数据。没有停顿,没有断开的连接。例如,在收到最后一个数据后 4 秒抛出异常。

4

0 回答 0