Frage

Erst gestern, als ich meine Android-App debugugierte, habe ich herausgefunden, dass meine Verbindung, wenn Reverse-DNS-Suchablaut nicht möglich ist, eine Menge Zeit für die Initiierung benötigt (ungefähr 20-30 Sekunden).

Ich habe es geschafft, die Quelle auf Inetaddress.Gethostname () aufzurufen (dort dauert es so viel Zeit), aber ich bin (leider) ahnungslos, wie ich es herumarbeiten könnte. Ich verstehe, dass SSL -Verbindungen ohne DNS -Überprüfung anfälliger für MITM -Angriffe sind. In solchen Fällen würde ich es vorziehen, den Benutzer über Probleme zu benachrichtigen, anstatt ihn für immer auf die Anwendung zu warten, um sie zu laden und sich zu verbinden. Ich habe das Web hin und her gestöbert, um nach der Antwort zu suchen. Ich konnte Wege finden, um das in Java zu beheben, aber keiner von ihnen gilt für Android (zumindest konnte ich inetaddress weder unternen mit impl Eigentum).

Gibt es eine Möglichkeit, die Zeitüberschreitung auf einige angemessene Zeitüberschreitungen zu beschränken (z. B. 2-3 Sekunden)? Ich möchte die Zeit sparen, die ich für die Neuschreibung von SSL-Sockets als Android-native Code verbringen muss.

Danke!

War es hilfreich?

Lösung

Dies hängt (wurde) mit einem Fehler in GLIBC zusammenhängen, der versucht, die Suche nach IPv6 -Hostnamen umzukehren, selbst wenn keine IPv6 -Schnittstellen konfiguriert wurden.

Das Problem und die Lösung werden hier besprochen:

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

Es sollte funktionieren, wenn die Datei /etc /hosts aktualisiert wird, um eine bestimmte IP -Adresse abzudecken

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top