2017-01-11 39 views
0

(系统调用,通过对等连接复位期间I/O错误)上传大于1MB文件,当我试图增加一个重试策略https://stackoverflow.com/a/22169775/2098493排球SSL错误

但错误依然存在时被上载的文件大于1mb。

W/System.err: com.android.volley.NoConnectionError: javax.net.ssl.SSLException: Write error: ssl=0xafc3fe00: I/O error during system call, Connection reset by peer 
W/System.err:  at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:151) 
W/System.err:  at com.android.volley.NetworkDispatcher.run(NetworkDispatcher.java:112) 
W/System.err: Caused by: javax.net.ssl.SSLException: Write error: ssl=0xafc3fe00: I/O error during system call, Connection reset by peer 
W/System.err:  at com.android.org.conscrypt.NativeCrypto.SSL_write(Native Method) 
W/System.err:  at com.android.org.conscrypt.OpenSSLSocketImpl$SSLOutputStream.write(OpenSSLSocketImpl.java:765) 
W/System.err:  at com.android.okio.Okio$1.write(Okio.java:70) 
W/System.err:  at com.android.okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:116) 
W/System.err:  at com.android.okio.RealBufferedSink.write(RealBufferedSink.java:44) 
W/System.err:  at com.android.okhttp.internal.http.RetryableSink.writeToSocket(RetryableSink.java:77) 
W/System.err:  at com.android.okhttp.internal.http.HttpConnection.writeRequestBody(HttpConnection.java:240) 
W/System.err:  at com.android.okhttp.internal.http.HttpTransport.writeRequestBody(HttpTransport.java:77) 
W/System.err:  at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622) 
W/System.err:  at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:388) 
W/System.err:  at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:332) 
W/System.err:  at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:500) 
W/System.err:  at com.android.okhttp.internal.http.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105) 
W/System.err:  at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25) 
W/System.err:  at com.android.volley.toolbox.HurlStack.performRequest(HurlStack.java:110) 
W/System.err:  at com.android.volley.toolbox.BasicNetwork.performRequest(BasicNetwork.java:96) 

感谢您的意见。

+0

看起来网络连接为您的上传文件。 使用Volly的重试策略。 [链接] {http://stackoverflow.com/questions/17094718/change-volley-timeout-duration/17179436#17179436} –

+0

@RvLalwani我已经做过发布之前,这是在我提到的这个问题上的链接也。 :) 谢谢。 – Woppi

+1

你正在使用哪个服务器,是IIS 8? –

回答

0

该解决方案是添加Volley Retry Policy并确保后端和服务器(nodejs/nginx)最大上传文件大小都设置正确的组合。

//where RETRY_DEFAULT_TIMEOUT_MS = 5000, RETRY_DEFAULT_MAX_RETRIES = 3, RETRY_DEFAULT_BACKOFF_MULT = 2.0f 

    request.setRetryPolicy(new DefaultRetryPolicy(RETRY_DEFAULT_TIMEOUT_MS, 
      RETRY_DEFAULT_MAX_RETRIES, 
      RETRY_DEFAULT_BACKOFF_MULT));