Я получаю псевдослучайно ECONNRESET
от компании моего бэкэнда. Я говорю pseudo random, потому что, хотя это не происходит так же, как я могу провоцировать его почти каждый раз, запустив большой объем запроса.Android Retrofit Я иногда получаю ECONNRESET, и я не знаю, почему
Я типично загружаю загрузки из жизненных циклов активности, поэтому я использую Retrofit
Call.enqueue()
для подключения к сети. В той части кода, которая, кажется, вызывает проблемы, я запускаю серию загрузок (~ 15 маршрутов REST для jsons и 5-6 файлов) из фонового потока. В этом случае ECONNRESET получает 2 из 3 попыток на одном из маршрутов REST.
Объяснение стороне сервера больше не единственное, что мы зарегистрировали, было прочитано/записано ECONNRESET.
Вот что я пробовал:
- Обновления okhttp
3.5.0
(от3.2.0
) и модифицированная2.1.0
(от2.0.2
) - Я добавил «Connection: закрыть» ИНТ моих запросов заголовка, чтобы предотвратить пропитание в живых.
- я уменьшил свой общий бассейн 1:
.connectionPool(new ConnectionPool(0, 1, TimeUnit.SECONDS))
Это случилось на моем телефоне (Android 6), у меня нет другого телефона, чтобы проверить код. У меня есть некоторые несвязанные проблемы с моим AVD, которые мешают мне тестировать различные версии Android (скоро их исправят).
Знаете ли вы, что могло бы спровоцировать это?
Спасибо,