如何获得可靠的Volley请求,没有重试策略

时间:2015-02-11 15:21:23

标签: android http android-volley

当我处于慢速连接并发出POST请求时,Volley会多次重试我的请求,然后它们最终都会点击errorListener。有时,这些重试实际上成功发布了数据。

用户将假设请求失败,但事实上,如果他们刷新了数据,他们会看到数据被POST两次到服务器(或者在一堆中成功重试)。

我想给Volley一个非常愚蠢的重试政策:

我希望它尝试15秒的请求,如果请求在15秒内没有到达服务器,并返回响应以触发errorListener。我根本不想让它重试。

唯一的问题是如果Volley尝试,请求会在20~25秒内到达服务器,但到那时它会触发errorListener并且数据仍然被POST。

HTTP是否遵循时间限制,之后100%的数据不会被发布,因为请求花了太长时间?也许40秒?如果是这样,那么我可以让请求持续40秒。

总之:

没有重试并确保100%,如果第一次尝试发布数据,请转到successListener,如果没有发布(请求因服务器耗时过长或错误响应而死亡){{ 1}}。

我正在考虑使用defaultRetryPolicy做一些事情......比如errorListener,虽然我认为最后一个参数并不重要,因为没有重试的退避点是什么。

我如何实现我要求的两个段落?

0 个答案:

没有答案