Pregunta

Justo ayer, mientras depuraba mi aplicación de Android, descubrí que cada vez que la búsqueda de DNS inversa no es posible, mi conexión toma mucho tiempo para iniciarse (aproximadamente unos 20-30 segundos).

Me las arreglé para reducir la fuente a inetaddress.gethostName () llamar (ahí es donde lleva tanto tiempo) pero no tengo ni idea de cómo podría trabajarlo. Entiendo que las conexiones SSL sin verificación DNS son más propensas a los ataques MITM; En tales casos, preferiría notificar al usuario sobre los problemas en lugar de hacerle esperar para siempre que la aplicación se cargue y se conecte. He estado navegando por la web de ida y vuelta en busca de la respuesta, pude encontrar formas de solucionarlo en Java, pero ninguno de ellos se aplica a Android (al menos no pude almacenar en caché ni usar clases alternativas para resolver mis nombres de host con suplicar propiedad).

¿Hay alguna forma de limitar el tiempo de espera a algunos tiempos de espera razonables (digamos: 2-3 segundos)? Me gustaría ahorrar el tiempo que necesitaría gastar reescribiendo los enchufes SSL como código nativo de Android.

¡Gracias!

¿Fue útil?

Solución

Esto está (estaba) relacionado con un error en GLIBC que intenta revertir los nombres de host IPv6 de búsqueda, incluso si no se configuraron interfaces IPv6.

El problema y la solución se discuten aquí:

https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/417757

Debería funcionar si el archivo /etc /hosts se actualiza para cubrir una dirección IP particular

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top