Кажется, у меня проблемы с Android HTTPClient несколько раз быстрее, и в других случаях может потребоваться несколько секунд, чтобы вернуть результат или сказать, что соединение было отказано.Android HTTPClient иногда медленное соединение?
В качестве теста я пробовал различные веб-хосты и прямой IP-адрес также без эффекта, тестирование осуществляется на устройстве, подключенном через Wi-Fi.
Код также работает на резьбе, а не на основной нити.
кода я использую выглядит следующим образом:
String strURL = "http://www.example.com/webservice/index.php";
List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>(2);
nameValuePairList.add(new BasicNameValuePair("command", "saveFave"));
nameValuePairList.add(new BasicNameValuePair("rid", strID));
HttpParams params = new BasicHttpParams();
params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1);
params.setParameter(CoreProtocolPNames.USER_AGENT, "AppName_Android");
DefaultHttpClient hc = new DefaultHttpClient(params);
HttpPost post = new HttpPost(strURL);
try {
post.setEntity(new UrlEncodedFormEntity(nameValuePairList));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
hc.setRedirectHandler(null);
HttpResponse rp = hc.execute(post);
Log.d("Http Post Response:", rp.toString());
if (rp.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
jsonData = EntityUtils.toString(rp.getEntity(), HTTP.UTF_8);
Log.v(TAG, "JSON Response " + jsonData);
} catch (Exception e) {
Log.v(TAG, "error " + e.getMessage());
}