Conexión HTTP de Android: varios dispositivos no pueden conectar el mismo servidor

Realmente necesito ayuda aquí …

Tengo una sencilla aplicación de Android que se conecta a mi servidor para recuperar datos a través de HTTPS.

Todo está funcionando bien hasta que me conecté al mismo servidor desde otro dispositivo (iOS o Android). Estoy empezando a obtener tiempos de espera o conexión rechazada u otros errores dependiendo de la biblioteca que utilizo (a veces SSL handshake)

  1. He intentado 2 aplicaciones android en el mismo enrutador – falla

  2. He intentado Volley, Retrofit, simple biblioteca http – falla

  3. si un dispositivo está conectado a través de una red celular y uno en wifi, está funcionando bien. Sin embargo, he visto casos que falla incluso utilizando 2 dispositivos conectados a la red celular y no wifi.

  4. Es fácil de reproducir. una aplicación está funcionando bien. tan pronto como hago una operación en el otro dispositivo. la primera aplicación no podrá conectarse.

  5. La aplicación iOS que utiliza el mismo api / servidor funciona bien. sin fallos

  6. Corrí wireshark en la aplicación android durante el fallo y recibí lo siguiente:

70 47.073286 10.0.0.1 10.0.0.138 ICMP 120 Destino inaccesible (Puerto inaccesible)

Parece problemas portuarios. Ya no estoy seguro si esto es un problema de servidor o un problema de cliente .. iOS aplicación funciona bien. sin problemas. Sólo Android.

Lo intenté:

System.setProperty("http.keepAlive", "false"); 

He intentado establecer una cabecera http " connection :close " nada funciona …

Cualquier idea sería apreciada …

El mismo problema aqui . Cuando mi dispositivo de ios se conecta a los héroes de allstar oa la diversión funciona la aplicación el dispositivo del androide no puede conectar más. No puedo encontrar s fijar para eso. Mi enrutador es tp link dir 615. Tal vez el problema es router frpm.

Al final del día, era cuestión de servidor. el chico de TI me dio la siguiente información: "bandera incorrecta en la configuración del núcleo tcp" "Reutilizar la conexión" que es todo lo que tengo para usted. espero que pueda ayudar a otra persona

Yo tuve el mismo problema. El problema parecía ser cuando la aplicación intentó acceder a los puertos en TIME_CLOSE aquí es una gran explicación de cómo esto sucede, cambiando el kernel tcp a Reutilizar la conexión , podría resolver el problema ya que el servidor tratará de reutilizar esas conexiones en TIME_CLOSE de nuevo. pero debe ser una solución desde el lado del cliente para evitar la conexión para quedar atascado. en mi caso estaba tratando de crear una conexión de múltiples actividades y supongo que, de alguna manera, compitieron por abrir y cerrar las conexiones, he resuelto el problema con una sola actividad para hacer la conexión con el servidor.

Espero que esto sea útil para alguien.

Tenía exactamente el mismo problema y pasó mucho tiempo investigando, nada ayudó incluyendo la bandera de la "conexión de la reutilización", intentó también inhabilitar tcp_timestamp, tcp_tw_reuse, tcp_tw_recycle y permitir vm modo seguro para la aplicación según lo sugerido aquí:

pero todo en la vena.

Además, la cosa muy extraña era que tenía dos instancias / servidores diferentes que hice exactamente igual con el fin de rastrear el problema y un servidor no tenía ningún problema.

Así que al final:

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

(C) Mi servidor / instancia admin

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