HttpClient ejecutar sigue dando ConnectTimeoutException

Tengo este gran error en mi aplicación que realmente no puedo resolver. Siempre que hago una llamada de descanso a través del siguiente código:

HttpGet request = new HttpGet(url + getParams()); HttpParams httpParameters = new BasicHttpParams(); HttpConnectionParams.setConnectionTimeout(httpParameters, 5000); HttpConnectionParams.setSoTimeout(httpParameters, 10000); DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters); httpClient.execute(request); 

Recibo el error en DDMS:

 07-15 11:22:47.448: WARN/System.err(973): org.apache.http.conn.ConnectTimeoutException: Connect to (some ip-address) timed out 

Pero a veces el código funciona perfecto y recibo mis datos como debería. También probé la llamada del servidor del resto vía un webbrowser normal en mi computadora y que da siempre detrás mis datos dentro de 100ms. Entonces, ¿qué estoy haciendo mal? También lo probé en otro dispositivo, pero eso me da el mismo problema. Me alegraría mucho si alguien pudiera resolver mi problema 🙂

4 Solutions collect form web for “HttpClient ejecutar sigue dando ConnectTimeoutException”

El problema es el DefaultHttpClient . ¿Lo está utilizando asincrónicamente? Dado que el DefaultHttpClient no es seguro para los subprocesos, su uso en un entorno asíncrono puede causar un problema. He tenido este problema antes cuando mi actividad comenzó la conexión de Http múltiple al mismo tiempo y terminé encima de cambiarla para utilizar HttpURLConnection . Puede consultar este sitio: http://www.vogella.de/articles/AndroidNetworking/article.html

Tengo el mismo problema.

Trate de usar IP directa para sus peticiones. Me di cuenta de que las búsquedas de DNS de Android se comportan bastante extraño a veces. Busqué y encontré esto: http://mailinglists.945824.n3.nabble.com/Android-and-reverse-DNS-lookup-issues-td3011461.html .

Dunno si es relevante o no, todavía estoy tratando de encontrar una solución. Tal vez alguien aquí puede echar un vistazo y averiguarlo.

Compruebe si usted es capaz de conectarse usando su máquina de desarrollo, También compruebe los tiempos de carga. Hay una muy buena oportunidad de que sus tiempos muertos sean demasiado pequeños.

Tenía un problema similar, podría ser reproducido sólo cuando se trata de conectar con varios dispositivos simultáneamente y la solución fue:

Problema restablecido de reinicialización de instancia con conexiones. (O simplemente necesita reiniciar el servicio de red)

(C) Mi servidor / instancia admin

Además, hay personas que experimentan problemas similares y algunas otras soluciones trabajado para ellos, por ejemplo:

  1. Desactivar tcp_timestamp
  2. Deshabilitar tcp_tw_reuse & tcp_tw_recycle
  3. Activado vm modo de guardar en Android manifiesto: android: vmSafeMode = "true"

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.