- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我希望实现 HttpRequestRetryHandler对于 HttpClient,以防第一次请求失败。
我也想实现Exponential backoff用于后续重试。在数学上它可以实现为
但我现在正在努力在代码中实现它与 HttpRequestRetryHandler。
最佳答案
HttpRequestRetryHandler 不允许您进行那种级别的控制;如果你想做一些非常具体的事情,我建议你实现类似 Handler 的东西您可以在其中发布要延迟执行的 Runnable,例如使用 Handler.postDelayed() 根据您的公式增加延迟。
Handler mHandler = new Handler();
int mDelay = INITIAL_DELAY;
// try request
mHandler.postDelayed(mDelay, new Runnable() {
public void run() {
// try your request here; if it fails, then repost:
if (failed) {
mDelay *= 2; // or as per your formula
mHandler.postDelayed(mDelay, this);
}
else {
// success!
}
}
});
关于java - 如何使用指数退避实现 HttpRequestRetryHandler?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13809835/
我使用 HttpClient 和 HttpRequestRetryHandler 在连接或套接字超时时重试。因此,我关闭连接并调用 API,期望调用 HttpRequestRetryHandler。但
我希望实现 HttpRequestRetryHandler对于 HttpClient,以防第一次请求失败。 我也想实现Exponential backoff用于后续重试。在数学上它可以实现为 E(c)
我正在尝试在我的 Android 应用程序中实现 HttpRequestRetryHandler。我已阅读 HttpRequestRetryHandler here 的文档. DefaultHttpC
我正在尝试在未收到响应后重试请求。我在 Httpclient 教程中读到了它。 HttpRequestRetryHandler 只被调用一次然后抛出异常。我在这里做错了什么? 已更新 我在 Socke
我正在使用 Apache HTTP commons DefaultHttpClient 并且在构建之后,我正在设置它的重试处理程序: httpClient.setHttpRequestRetryHan
我是一名优秀的程序员,十分优秀!