gpt4 book ai didi

android - 重试 HTTP(S) POST,直到它们在 Android 上成功

转载 作者:太空狗 更新时间:2023-10-29 13:12:31 25 4
gpt4 key购买 nike

我有一些数据将通过 http(s) 从 Android 应用程序发送到服务器。需要按顺序发送。

是否已经存在一种将 http 请求排队(针对同一服务器)并重试直到它们完成(不一定成功)的方法?

我的问题是,如果没有网络覆盖,http 请求可能会失败。应该有某种形式的指数退避,或者一个监听器(用于网络重新连接)来提示重试队列的头部。

我可以自己写这个,但我想检查一下我不是在重新发明轮子。

最佳答案

有几种选择:

截击:

RequestQueue queue = Volley.newRequestQueue(ctx); // ctx is the context
StringRequest req = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String data) {
// We handle the response
}
},
new Response.ErrorListener() {
@Override
// handle response
}
);
queue.add(req);

OkHttp:

OkHttpClient client = new OkHttpClient();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
// Handle error
}

@Override
public void onResponse(Response response) throws IOException {
//handle response
}
});

或者您可以在您的请求中使用一个计数器,让服务器对它们进行排序。如果您有兴趣了解有关 Android Http 库的更多详细信息,我最近写了一篇文章。给看看here

关于android - 重试 HTTP(S) POST,直到它们在 Android 上成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38390463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com