【问题标题】:retrofit.RetrofitError: sendto failed: EPIPE (Broken pipe)retrofit.RetrofitError: sendto failed: EPIPE (Broken pipe)
【发布时间】:2016-04-03 13:43:41
【问题描述】:

我在 android 中为我的 RESTclient 使用 Retrofit 1.9.0,它得到错误,如下所示:

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

谁能知道如何解决这个问题?

【问题讨论】:

    标签: android rest retrofit


    【解决方案1】:

    只是为了确保您的配置正确

    检查您是否已将所有必需的权限添加到您的AndroidManifest.xml(EPIPE 经常由于缺少权限而发生)

    【讨论】:

      【解决方案2】:

      脚本可能会卡在代码中的某个地方,因此在服务器关闭套接字的同时没有发布响应。

      增加超时值

      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'
      

      【讨论】:

        【解决方案3】:

        如果没有在改造助手中设置端口,像这样:http://172.51.65.62

        retforit 尝试连接到:http://172.51.65.62:80

        现在如果使用其他端口号 80 ,您将收到此错误

        如需修正此错误,请更改 ip 或地址,例如:http://172.51.65.62:8256

        【讨论】:

          猜你喜欢
          • 2013-01-15
          • 2014-06-14
          • 2013-02-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-14
          • 1970-01-01
          相关资源
          最近更新 更多