Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android 3平板电脑上出现意外的SocketTimeoutException_Java_Android_Httpurlconnection_Socket Timeout Exception - Fatal编程技术网

Java Android 3平板电脑上出现意外的SocketTimeoutException

Java Android 3平板电脑上出现意外的SocketTimeoutException,java,android,httpurlconnection,socket-timeout-exception,Java,Android,Httpurlconnection,Socket Timeout Exception,我有一个应用程序,它使用 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.setReadTi

我有一个应用程序,它使用

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:connection timed out。我用华威Mediapad 7对其进行了测试。同样的代码在一些安卓2设备、手机和平板电脑上运行良好

有人已经遇到这个问题了,或者这个设备是特定的

编辑:(说明接收到数据且没有实际超时是原因。) 我记录了每隔15秒接收一次数据。没有停顿,没有断开的连接。
异常会在收到最后一个数据后引发,例如4s。

SocketException从来都不是意外的。网络可能对设备不可用,例如,因为它的天线较弱。@lechlukasz:我知道可能会发生SocketException,但只有在指定时间(即60秒)内没有数据时,才应抛出“连接超时”。如果我可以肯定地看到数据在抛出的异常(值不同)之前到达4s,我不期望超时。更令人费解的是:它不是SocketTimeoutException(我期望的),而是带有超时消息的SocketException。这是安卓系统防止长时间连接的功能吗?