排球更改响应超时 - 不设置重复

时间:2016-12-13 05:53:15

标签: java android android-volley

我从互联网上搜索了很多来设置凌空的请求超时。我最终获得了重试策略的解决方案,但是当研究它没有设置超时时它设置了请求的重试时间,但我不想重试我的请求。我想增加凌空请求超时,以便较慢的网络可以访问数据,凌空超时设置为5秒,这意味着如果网络连接到5秒,它将抛出超时异常。如何设法改变从服务器获得响应的时间。

我的代码是

ProjectHistory.requestQueue = Volley.newRequestQueue(mContext);
    int socketTimeout = 30000;//30 seconds - change to what you want
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
    stringRequest.setRetryPolicy(policy);
    ProjectHistory.requestQueue.add(stringRequest);

我有两个问题 -

(1)它会在30秒后重试请求吗?

(2)如何设置请求超时30秒,以便较慢的网络可以加载数据?

1 个答案:

答案 0 :(得分:1)

请在Volley中查看this个帖子中的超时政策。

这里在

request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
                0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48 ,第一个参数本身表示超时。如果在政策中提到重试,那么Volley将等待给定时间并且id没有得到响应然后再次尝试。

注意:这里提到的超时是2500ms * 48 = 120000ms = 2分钟

感谢。