2

在我的应用程序中,我使用 http 连接到我的服务器(我正在同步本地数据库)。这是代码:

HttpClient httpClient = new DefaultHttpClient();
httpClient.getParams().setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
HttpConnectionParams.setConnectionTimeout(httpClient.getParams(),13500);
HttpConnectionParams.setSoTimeout(httpClient.getParams(),27000);

HttpResponse response = httpClient.execute(httpRequest); 
int statusCode = response.getStatusLine().getStatusCode();
HttpEntity entity = response.getEntity();
if (entity != null) {
    String data = EntityUtils.toString(entity);
    JSONObject jObj = new JSONObject(data);
    entity.consumeContent();
}

此代码针对多个 httpRequest 执行,以从服务器提取数据并将更新发送到服务器。

直到最近这段代码并没有给我带来任何麻烦,但现在我正在努力解决一个奇怪的问题:有时代码按预期工作,但有时我得到的只是超时。

更多细节 - 当它不起作用时,它不像我得到零星的超时 - 我发送的每个请求都以超时结束。我可以重新启动应用程序并看到这种行为,然后在几个应用程序重新启动后就像诅咒被解除了 - 不是一次超时。然后我得到的只是超时。

我很确定问题出在手机端,因为我也有一个 iPhone 应用程序与同一个应用程序交谈没有问题。也有好几次,我在一台 android 设备上观察到这个问题,而在不同设备上的同一个应用程序运行良好。

我在这里想念什么?

4

0 回答 0