连接到.NET REST端点的Android中的间歇连接重置错误

我从通过SSL连接到IIS REST服务的设备中收到间歇性错误。 我的应用程序工作得很好,但有时我得到这个exception。 它处理得当,不会降低应用程序..

我想知道这是什么意思,如果有什么方法可以修复它? 目前它导致数据被延迟。 此外,它洪水日志,我不能真正忽略它。我想知道如果我能改善这种情况。

当我处理REST服务时,这是我应该期待的吗? 我的服务器在Amazon EC2上。

读取错误:ssl = 0x1211a88:系统调用期间发生I / O错误,由对等方重置连接

javax.net.ssl.SSLException:读取错误:ssl = 0x1211a88:系统调用期间发生I / O错误,org.apache.harmony.xnet.provider.jsse.NativeCrypto.SSL_read(本地方法)处的peer重置连接。 apache.harmony.xnet.provider.jsse.OpenSSLSocketImpl $ SSLInputStream.read(OpenSSLSocketImpl.java:671)位于org.apache.harmony.xnet.provider.jsse的libcore.io.Streams.readSingleByte(Streams.java:41)。在libcore.net.http.HttpEngine.readResponseHeaders(HttpEngine.java:544)上的libcore.io.Streams.readAsciiLine(Streams.java:201)处的OpenSSLSocketImpl $ SSLInputStream.read(OpenSSLSocketImpl.java:655) .httpEngine.readResponse(HttpEngine.java:784)位于libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:274)位于libcore.net.http.HttpURLConnectionImpl.getResponseMessage(HttpURLConnectionImpl.java:475)位于libcore.net。 http.HttpsURLConnectionImpl.getResponseMessage

这不是我能重现的。 不是权限或这样的事情。 这是间歇性的问题。 从每分钟连接的200台设备中,我可以看到每天大约有1000台。

Solutions Collecting From Web of "连接到.NET REST端点的Android中的间歇连接重置错误"

这似乎是在客户端发生超时问题导致您的服务器端的例外。 我已经看到这发生在我的服务上的上传方法,因为上传文件需要一些时间,移动networking之间移动的可能性非常高,这可能会导致这个问题。

我会研究以下解决scheme:

  1. 尝试一下,如果它的某个移动设备制造商,导致您的日志泛滥与这些例外。 我经历过制造商networking处理行为与其他品牌不同的情况。 如果您发现存在导致此问题的特定品牌,则可能会延长该特定设备的默认超时时间,或者进一步调查并尝试在该设备上进行复制。
  2. 我还会检查导致这些exception的客户端是否由于特定的被调用方法的延迟问题而超时。 也许某些客户在调用某种方法时遇到了一定的性能问题。 如果这是一个性能问题,你可能会修复它在服务器端,并没有用于调查客户端。

如果您有任何进一步的细节,请更新。