Как получить надежный запрос на залп без политики повторных попыток
Когда я нахожусь на медленном соединении и делаю запрос POST, Волей повторяет мой запрос несколько раз, и после того, как все это заканчивает тем, что ударил мойerrorListener
, Иногда эти попытки действительно преуспели в публикации данных.
Пользователь будет предполагать, что запрос не выполнен, но по правде говоря, если он обновил данные, они увидят, что данные были дважды отправлены на сервер (или сколько успешных попыток в связке).
Я хочу дать Волей очень тупую политику повторных попыток:
Я хочу, чтобы он попробовал запрос в течение 15 секунд, и если запрос не достигает сервера в течение 15 секунд, и возвращается с ответом, чтобы вызватьerrorListener
, Я не хочу повторять это вообще.
Единственная проблема заключается в том, что если Volley пытается, запрос попадает на сервер в течение 20 ~ 25 секунд, но к тому времени он вызвалerrorListener
и данные все еще были размещены.
Соблюдает ли HTTP ограничение по времени, после которого оно составляет 100%, и данные не будут опубликованы, поскольку запрос занял слишком много времени? Как, может быть, 40 секунд? Если так, то я могу сделать запрос на 40 секунд.
В целом:
Не пытайтесь повторить попытку и убедитесь на 100%, что если данные были опубликованы с первой попытки, перейдите наsuccessListener
и если он не был опубликован (запрос умер из-за слишком долгого ответа или ответа сервера)errorListener
.
Я думал сделать что-то с defaultRetryPolicy ... какDefaultRetryPolicy(15000, 0, 1)
хотя я думаю, что последний параметр не имеет значения, потому что какой смысл отступать без повторных попыток.
Как бы я достиг того, что я просил два параграфа назад?