2016-04-03 1 views
0

I Retrofit bin mit 1.9.0 für mein RESTclient in Android, es Fehler erhalten, wie ich weiter unten schreiben:retrofit.RetrofitError: sendto fehlgeschlagen: EPIPE (Rohrbruch)

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 

Kann jemand wissen, wie Befestigung das bitte?

Antwort

1

Nur um sicher zu stellen, dass Ihre Konfiguration korrekt ist

überprüfen, ob Sie alle erforderlichen Berechtigungen für Ihre AndroidManifest.xml

könnte hinzugefügt haben (EPIPE als Folge der fehlt Berechtigungen oft geschieht)
0

Script bekommen Irgendwo im Code stecken geblieben, also die Antwort nicht gepostet, währenddessen der Server den Socket geschlossen hätte.

Erhöhung Timeout-Werte

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

Fügen Sie diese auf Ihrem gradle

compile 'com.squareup.okhttp:okhttp:2.0.0' 
Compile 'come.scrap.okhttp:okhttp-urlconnection:2.0.0'