0

我正在尝试在数据库中输入一个条目。这是我正在使用的代码

String url = String.format("http://xxxxxxx/xxx/index.php?home=yes&pid=%s", pid);

        // Create a new HttpClient and Post Header
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);

    try {
        ResponseHandler<String> responseHandler = new BasicResponseHandler();
        String response = httpclient.execute(httppost, responseHandler);

        Log.e("abc", response);
        return response;
        } catch (ClientProtocolException es) 
        {   
            Log.e("x" , es.getMessage());
            return "";
        } catch (IOException e) 
        {
            Log.e("aasx" , e.getMessage());
            return "";
        }

这段代码工作正常。现在当出现网络连接问题时,代码卡在 httpclient.execute(httppost, responseHandler);了 2 分钟以上。

有没有什么方法可以只检查几秒钟,如果没有响应catch the exceptions呢?

4

2 回答 2

1

您的问题与此处的问题相似。

您只需要为 HttpClient 设置超时,如那里的答案所示。这可以通过将 HttpParams 对象传递给 HttpClient 构造函数来完成。

于 2012-10-12T14:37:29.280 回答
0

我对 Java 不太熟悉,但在 Actionscript 3 中做类似的事情时,通常可以在 HTTP 请求上设置一个超时数,以便在一定时间后停止尝试。对于应该快速返回的请求,我通常将其设置为 15-30 秒。

于 2012-10-12T14:35:05.967 回答