Ich verwende okhttp und Retrofit für eine meiner Anwendungen und ich habe viele Anfragen, die mit RxJava an verschiedenen Threads arbeiten. Manchmal habe ich SocketException für jede Anforderung erhalten und danach kann keine Anfrage den Server erreichen.
Für z.B. Ich kann eine Probe teilen.
Ein paar modifizierte Snippets aus Code, den ich teilen kann.
%Vor%Von allen 3 Callbacks wurde nichts aufgerufen.
Stackstace:
%Vor%Andere IOException
%Vor%Abonnement Ich versuche häufig zu telefonieren funktioniert gut, aber manchmal über Fehler ist da und dann funktioniert nicht mehr. Afterwords keine Anfrage kann den Server erreichen.
Methode von Retrofit-Schnittstelle
%Vor%Im Folgenden einige Hilfsmethoden, nur um die Konfiguration zu überprüfen, falls etwas benötigt wird.
%Vor%Abhängigkeiten
%Vor% In meinem Fall war das, was ich entdeckt habe, ein plötzlicher unerwarteter unsubscribe()
-Aufruf, der den HTTP FAILED: java.net.SocketException: Socket closed
-Fehler verursachte und keinen der onCompleted()
onError()
oder onNext()
Callbacks aufruft - seht euch die Diskussion und Antwort hier .
Um diesen Fall bearbeiten zu können, fügen Sie einfach Folgendes hinzu:
%Vor% zu deinem Observable
und versuche vielleicht, dort einen Zustand zurückzusetzen, was hoffentlich dazu führen würde, dass normale Aktivitäten wieder aufgenommen werden können.