传文件到服务器偶尔失败,七牛java服务端sdk上传文件偶尔报SocketTimeoutException错误的问题?...

使用七牛java服务端sdk qiniu-java-sdk-6.1.7.1 进行上传图片时经常报错,调用的函数是 IoApi.putFile,请帮忙分析下是什么原因导致的,谢谢!

java.net.SocketTimeoutException: Read timed out

at java.net.SocketInputStream.socketRead0(Native Method)

at java.net.SocketInputStream.read(SocketInputStream.java:152)

at java.net.SocketInputStream.read(SocketInputStream.java:122)

at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166)

at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90)

at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281)

at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92)

at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62)

at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254)

at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289)

at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252)

at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191)

at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300)

at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127)

at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715)

at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805)

at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:784)

at com.qiniu.api.net.Client.callWithMultiPart(Client.java:152)

at com.qiniu.api.io.IoApi.put(IoApi.java:64)

at com.qiniu.api.io.IoApi.putFile(IoApi.java:225)

at com.qiniu.api.io.IoApi.putFile(IoApi.java:214)

2016年2月29日更新:

采用了新的sdk,在测试中也发现了类似的报错,是偶尔会出现,出现后的下一次上传又正常。这个又是可能是什么可能,测试代码是放在云服务器上的,基本可以排除短时间内的网络异常问题?另七牛服务器有哪些域名推荐的?

java.net.SocketTimeoutException: timeout

at okio.Okio$3.newTimeoutException(Okio.java:207)

at okio.AsyncTimeout.exit(AsyncTimeout.java:261)

at okio.AsyncTimeout$2.read(AsyncTimeout.java:215)

at okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)

at okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)

at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)

at com.squareup.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:186)

at com.squareup.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:127)

at com.squareup.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:739)

at com.squareup.okhttp.internal.http.HttpEngine.access$200(HttpEngine.java:87)

at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:724)

at com.qiniu.http.Client$1.intercept(Client.java:37)

at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:697)

at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:578)

at com.squareup.okhttp.Call.getResponse(Call.java:287)

at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243)

at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)

at com.squareup.okhttp.Call.execute(Call.java:80)

at com.qiniu.http.Client.send(Client.java:195)

at com.qiniu.http.Client.multipartPost(Client.java:175)

at com.qiniu.http.Client.multipartPost(Client.java:143)

at com.qiniu.storage.FormUploader.upload(FormUploader.java:52)

at com.qiniu.storage.UploadManager.put(UploadManager.java:126)

at com.qiniu.storage.UploadManager.put(UploadManager.java:104)

at com.qiniu.main.Test.upload(Test.java:51)

at com.qiniu.main.Test.run(Test.java:100)

at java.lang.Thread.run(Thread.java:745)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.net.SocketException: Socket closed

at java.net.SocketInputStream.read(SocketInputStream.java:203)

at java.net.SocketInputStream.read(SocketInputStream.java:141)

at okio.Okio$2.read(Okio.java:139)

at okio.AsyncTimeout$2.read(AsyncTimeout.java:211)

... 27 more

com.qiniu.common.QiniuException: java.net.SocketTimeoutException: timeout

at com.qiniu.http.Client.send(Client.java:198)

at com.qiniu.http.Client.multipartPost(Client.java:175)

at com.qiniu.http.Client.multipartPost(Client.java:143)

at com.qiniu.storage.FormUploader.upload(FormUploader.java:52)

at com.qiniu.storage.UploadManager.put(UploadManager.java:126)

at com.qiniu.storage.UploadManager.put(UploadManager.java:104)

at com.qiniu.main.Test.upload(Test.java:51)

at com.qiniu.main.Test.run(Test.java:100)

at java.lang.Thread.run(Thread.java:745)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.net.SocketTimeoutException: timeout

at okio.Okio$3.newTimeoutException(Okio.java:207)

at okio.AsyncTimeout.exit(AsyncTimeout.java:261)

at okio.AsyncTimeout$2.read(AsyncTimeout.java:215)

at okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)

at okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)

at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)

at com.squareup.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:186)

at com.squareup.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:127)

at com.squareup.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:739)

at com.squareup.okhttp.internal.http.HttpEngine.access$200(HttpEngine.java:87)

at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:724)

at com.qiniu.http.Client$1.intercept(Client.java:37)

at com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:697)

at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:578)

at com.squareup.okhttp.Call.getResponse(Call.java:287)

at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243)

at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)

at com.squareup.okhttp.Call.execute(Call.java:80)

at com.qiniu.http.Client.send(Client.java:195)

... 11 more

Caused by: java.net.SocketException: Socket closed

at java.net.SocketInputStream.read(SocketInputStream.java:203)

at java.net.SocketInputStream.read(SocketInputStream.java:141)

at okio.Okio$2.read(Okio.java:139)

at okio.AsyncTimeout$2.read(AsyncTimeout.java:211)

... 27 more

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值