Intermittierende Verbindung Zurücksetzen durch Peer-Fehler bei der Verbindung von Android mit dem .NET REST-Endpunkt

8

Ich erhalte zeitweise Fehler von Geräten, die sich über SSL mit meinem IIS-REST-Service verbinden. Meine App funktioniert gut, aber manchmal bekomme ich diese Ausnahme. Es wird richtig gehandhabt und bringt keine App zum Absturz.

ut Ich frage mich, was es bedeutet und ob es einen Weg gibt, es zu reparieren? Derzeit verursacht es Verzögerungen bei Daten, die abgerufen werden. Außerdem flutet es Logs und ich kann es nicht wirklich ignorieren. Ich frage mich, ob ich diese Situation verbessern kann.

Ist das etwas, was ich erwarten sollte, wenn ich mich mit REST-Diensten beschäftige? Mein Server ist auf Amazon EC2.

  

Lesefehler: ssl = 0x1211a88: E / A-Fehler während des Systemaufrufs, Verbindung   Zurücksetzen durch Peer

     

javax.net.ssl.SSLException: Lesefehler: ssl = 0x1211a88: E / A-Fehler   Während des Systemaufrufs Verbindung durch Peer zurückgesetzt   org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read (Nativ   Methode) um   org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read (OpenSSLSocketImpl.java:671)   bei libcore.io.Streams.readSingleByte (Streams.java:41) um   org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read (OpenSSLSocketImpl.java:655)   bei libcore.io.Streams.readAsciiLine (Streams.java:201) um   libcore.net.http.HttpEngine.readResponseHeaders (HttpEngine.java:544)   bei libcore.net.http.HttpEngine.readResponse (HttpEngine.java:784) um   libcore.net.http.HttpURLConnectionImpl.getResponse (HttpURLConnectionImpl.java:274)   beim   libcore.net.http.HttpURLConnectionImpl.getResponseMessage (HttpURLConnectionImpl.java:475)   at libcore.net.http.HttpsURLConnectionImpl.getResponseMessage

Das kann ich NICHT reproduzieren. Keine Berechtigungen oder ähnliches. Dies ist ein zeitweiliges Problem. Ich sehe etwa 1000 davon jeden Tag von 200 Geräten, die jede Minute verbinden.

    
katit 13.06.2012, 18:57
quelle

1 Antwort

1

Es scheint, als ob auf der Client-Seite ein Timeout-Problem aufgetreten ist, das auf der Serverseite für diese Ausnahme verantwortlich ist. Ich habe gesehen, dass dies bei einer Upload-Methode, die ich auf meinem Dienst habe, passiert, da es manchmal dauert, um die Datei hochzuladen. Die Chancen, dass sich das Handy zwischen Netzwerken bewegt, sind sehr hoch und könnten dieses Problem verursachen.

Ich würde die folgenden Lösungen untersuchen:

  1. Versuchen Sie herauszufinden, ob ein bestimmter Hersteller von Mobilgeräten Ihre Logs mit diesen Ausnahmen überfluten lässt. Ich habe Fälle erlebt, in denen sich das Netzwerkhandling des Herstellers anders als andere Marken verhalten hat. Falls Sie feststellen, dass es eine bestimmte Marke gibt, die das verursacht, können Sie das Standard-Timeout für dieses bestimmte Gerät verlängern oder weitere Untersuchungen und Versuche auf diesem Gerät durchführen.
  2. Ich würde auch prüfen, ob die Clients, die diese Ausnahmen verursachen, wegen eines Latenzproblems für diese bestimmte aufgerufene Methode das Zeitlimit überschritten haben. Vielleicht erleben bestimmte Kunden ein bestimmtes Leistungsproblem beim Aufruf einer bestimmten Methode. Wenn es sich um ein Leistungsproblem handelt, werden Sie es wahrscheinlich auf der Serverseite beheben, und die Untersuchung der Clientseite ist nicht sinnvoll.

Bitte aktualisieren Sie, wenn Sie weitere Details haben.

    
liorsolomon 04.01.2015 19:23
quelle

Tags und Links