2016-04-03 5 views
0

を私はアンドロイドで私のRESTclientのためのレトロフィット1.9.0を使用しています私は以下の投稿のように、それはエラーが発生します。retrofit.RetrofitError:失敗のsendto:EPIPE(ブロークン・パイプ)

retrofit.RetrofitError: sendto failed: EPIPE (Broken pipe) 
04-03 20:18:51.995 8634-8634/up.tech.opener W/System.err:  at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:395) 
04-03 20:18:51.995 8634-8634/up.tech.opener W/System.err:  at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220) 
04-03 20:18:51.995 8634-8634/up.tech.opener W/System.err:  at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278) 
04-03 20:18:51.995 8634-8634/up.tech.opener W/System.err:  at retrofit.CallbackRunnable.run(CallbackRunnable.java:42) 
04-03 20:18:51.995 8634-8634/up.tech.opener W/System.err:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
04-03 20:18:51.996 8634-8634/up.tech.opener W/System.err:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
04-03 20:18:51.996 8634-8634/up.tech.opener W/System.err:  at retrofit.Platform$Android$2$1.run(Platform.java:142) 
04-03 20:18:51.996 8634-8634/up.tech.opener W/System.err:  at java.lang.Thread.run(Thread.java:838) 
04-03 20:18:51.996 8634-8634/up.tech.opener W/System.err: Caused by: java.net.SocketException: sendto failed: EPIPE (Broken pipe) 
04-03 20:18:51.997 8634-8634/up.tech.opener W/System.err:  at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:550) 
04-03 20:18:51.997 8634-8634/up.tech.opener W/System.err:  at libcore.io.IoBridge.sendto(IoBridge.java:519) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at java.net.PlainSocketImpl.write(PlainSocketImpl.java:511) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at java.net.PlainSocketImpl.access$100(PlainSocketImpl.java:46) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at java.net.PlainSocketImpl$PlainSocketOutputStream.write(PlainSocketImpl.java:269) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at java.io.OutputStream.write(OutputStream.java:82) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at libcore.net.http.HttpEngine.writeRequestHeaders(HttpEngine.java:659) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at libcore.net.http.HttpEngine.readResponse(HttpEngine.java:808) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:293) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at libcore.net.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:505) 
04-03 20:18:51.998 8634-8634/up.tech.opener W/System.err:  at retrofit.client.UrlConnectionClient.readResponse(UrlConnectionClient.java:73) 
04-03 20:18:51.999 8634-8634/up.tech.opener W/System.err:  at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:38) 
04-03 20:18:51.999 8634-8634/up.tech.opener W/System.err:  at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:326) 
04-03 20:18:51.999 8634-8634/up.tech.opener W/System.err: ... 7 more 

誰でも固定する方法を知ることができますこれはどうですか?

答えて

1

ちょうどあなたの設定は、あなたのAndroidManifest.xmlに必要なすべての権限を追加した場合

チェック(EPIPEが行方不明権限の結果として頻繁に発生する)

0

スクリプトが取得される可能性があります正しいことを確認しますコードのどこかに詰まっていたため、応答をポストしていない間にサーバはソケットを閉じてしまいました。

増やすタイムアウト値

okHttpClient = new OkHttpClient(); 
okHttpClient.setReadTimeout(60, TimeUnit.SECONDS); 
okHttpClient.setConnectTimeout(60, TimeUnit.SECONDS); 

あなたのGradleでこれを追加

compile 'com.squareup.okhttp:okhttp:2.0.0' 
Compile 'come.scrap.okhttp:okhttp-urlconnection:2.0.0' 
関連する問題