【问题标题】:Retrofit SocketTimeoutException - Uploading ImageRetrofit SocketTimeoutException - 上传图片
【发布时间】:2014-06-14 09:38:08
【问题描述】:

我目前正在使用 Retrofit for Android 作为我的网络通信。当向我的后端服务器发布图像时,服务器处于上传过程中,然后使用 SocketTimeoutException 改造“超时”。

我已经按照一些人的建议添加了 OKhttp 库,但仍然超时。

目前的 img 大小约为 750kb,因为我已将它们按比例缩小。

是否有适当的方法来更改改造超时前的时间量?或者有没有更好的方法将图片上传到服务器?

谢谢

【问题讨论】:

    标签: android http-post retrofit


    【解决方案1】:

    也许尝试在 OkHttpClient 上使用 setReadTimeout 更改超时;请注意,设置为 0 表示永不超时。

    奖励:如果您需要帮助找出合适的设置,您可以在异常超时之前读取bytes successfully transferred,还可以通过getReadTimeout 找出当前默认读取超时。

    【讨论】:

    • 成功了,不再有套接字超时问题。但我现在遇到了其他项目。我会看一下,如果它与这个问题无关,我会将您的答案标记为正确。
    • 快速问题@Hober,我看到有些人将他们的Retrofit RestAdatper 设置为使用OkHttpClient,而其他人则说您只需要添加库即可使其工作。有什么建议吗?
    • @JohnShelley 根据 Retrofit 的源代码,如果它存在于类路径中,则默认使用 OkHttpClient。
    • 它在我的情况下不起作用.. 仍然得到 samejava.net.SocketTimeoutException: timeout
    猜你喜欢
    • 2016-04-25
    • 2020-05-31
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多