2012-06-13 11 views
8

Występują przejściowe błędy z urządzeń łączących się z moją usługą IIS REST przez SSL. Moja aplikacja działa dobrze, ale czasami otrzymuję ten wyjątek. Jest obsługiwany poprawnie i nie powoduje utraty aplikacji ..Przerywane połączenie Resetuj przez błędy Peer w systemie Android łączące się z punktem końcowym .NET REST

ut Zastanawiam się, co to znaczy i czy istnieje sposób, aby to naprawić? Obecnie powoduje opóźnienia w odzyskiwaniu danych. Ponadto zalewa dzienniki i nie mogę tego zignorować .. Zastanawiam się, czy mogę poprawić tę sytuację.

Czy jest to coś, czego powinienem się spodziewać, gdy zajmuję się usługami REST? Mój serwer jest na Amazon EC2.

Read error: ssl=0x1211a88: I/O error during system call, Connection reset by peer

javax.net.ssl.SSLException: Read error: ssl=0x1211a88: I/O error during system call, Connection reset by peer at org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(Native Method) at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:671) at libcore.io.Streams.readSingleByte(Streams.java:41) at org.apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:655) at libcore.io.Streams.readAsciiLine(Streams.java:201) at libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:544) at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:784) at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274) at libcore.net.http.HttpURLConnectionImpl.getResponseMessage(HttpURLConnectionImpl.java:475) at libcore.net.http.HttpsURLConnectionImpl.getResponseMessage

To nie jest coś, co mogę powielić. Nie uprawnienia lub coś podobnego. Jest to problem sporadyczny. Każdego dnia widzę około 1000 z 200 urządzeń łączących się co minutę.

+0

Mogę tylko powiedzieć, że "usługi REST" nie są przyczyną problemu. –

+0

Sprawdź również http://stackoverflow.com/questions/8472556/android-https-exception-connection-reset-by-peer –

+0

Jestem prawie pewien, że to nie jest, po prostu chciałem podkreślić, że to jest MOJA usługa i jeśli istnieje możliwość, że jest to problem po stronie serwera, mogę jakoś to naprawić. Czuję, że to tylko kwestia komunikacji, ale widzę mnóstwo i zastanawiam się, czy ktoś miał doświadczenie .. – katit

Odpowiedz

1

Wygląda na to, że po stronie klienta występuje problem z przekroczeniem limitu czasu powodujący ten wyjątek po stronie serwera. Widziałem, jak to się dzieje w przypadku metody przesyłania, którą mam w swojej usłudze, ponieważ pobieranie pliku może trochę potrwać. Prawdopodobieństwo, że telefon komórkowy przeniesie się między sieciami, jest dość wysokie i może powodować ten problem.

chciałbym zbadać następujące rozwiązania:

  1. spróbować dowiedzieć, czy jej pewien producent mobilne urządzenie, które powoduje dzienniki zalewać z tych wyjątków. Doświadczyłem przypadków, w których obsługa sieciowa producenta zachowywała się inaczej niż w przypadku innych marek. Jeśli okaże się, że jest to określona marka powodująca to, możesz przedłużyć domyślny limit czasu na tym konkretnym urządzeniu lub zbadać go i spróbować odtworzyć na tym urządzeniu.
  2. Chciałbym również zbadać, czy klienci powodujący te wyjątki zostały przekroczone z powodu problemu z opóźnieniem dla tej konkretnej wywołanej metody. być może niektórzy klienci napotykają pewien problem z wydajnością podczas wywoływania określonej metody. Jeśli jest to problem z wydajnością, prawdopodobnie naprawisz go po stronie serwera i nie będzie potrzeby sprawdzania strony klienta.

Proszę zaktualizować, jeśli masz jakiekolwiek dalsze szczegóły.