2

在我的应用程序中,我正在从 ReST Web 服务下载 JSON 数据。大多数情况下,这工作正常,但有时连接会超时。

这是我用来设置超时的代码...

HttpConnectionParams.setConnectionTimeout( httpParameters, 20000 );
HttpConnectionParams.setSoTimeout( httpParameters, 42000 );

如果连接超时,应用程序崩溃并关闭,我该如何处理超时?

4

3 回答 3

6

HttpClient 类抛出 ConnectTimeoutException 异常,因此您应该监听它:

try {
        HttpResponse response = client.execute(post);
                    // do something with response
    } catch (ConnectTimeoutException e) {
        Log.e(TAG, "Timeout", e);
    } catch (SocketTimeoutException e) {
        Log.e(TAG, " Socket timeout", e);
    }
于 2013-08-05T09:27:13.650 回答
3

增加等待响应的时间,例如:

HttpConnectionParams.setConnectionTimeout( httpParameters, 60000 ); //1 minute
HttpConnectionParams.setSoTimeout( httpParameters, 90000 ); // 1.5 minute
于 2013-08-05T09:33:10.200 回答
0

我试图捕捉各种异常类型,我发现捕捉 IOException 就像我想要的那样工作!

于 2013-08-05T09:55:11.100 回答