3g网络上传图片文件错误:sendto failed: EPIPE (Broken pipe)

请教大家一个问题,android 在用七牛上传文件的时候,wifi状态下没问题,切换到3g网络的时候,就会上传失败,onFailure 方法给回exception是“java.net.SocketException: sendto failed: EPIPE (Broken pipe)”,有谁遇到过这个问题吗?搜索过这个错误,网上的解释有没有打开wifi、USB切换或息屏容易导致socket服务端口关闭、网络请求携带数据量太大没有关闭流等,都排除了这些原因,而且,开发的程序应用之前在3g网络下上传是没有问题的。

阅读 11.9k
1 个回答

这个问题有这么几种可能:
1. 代码问题,具体需要你描述一下你的具体功能场景,提供一下相关代码;
2. 网络问题,可能是上传了一部分之后网络断了,或者是使用流上传的时候,你还在给流继续写东西,但是服务端已经把流关闭了;
3. 代理问题,有可能你开着代理,然后代理在上传的时候上传失败,这个你关闭代理试一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进