Сброс соединения (SocketException) во время загрузки изображения в Amazon AWS S3 с помощью OkHttp на Android с определенAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Сброс соединения (SocketException) во время загрузки изображения в Amazon AWS S3 с помощью OkHttp на Android с определен

Сообщение Anonymous »

Я столкнулся с ошибкой java.net.SocketException: Connection Reset при попытке загрузить изображение на заранее подписанный URL-адрес Amazon AWS S3 с помощью службы загрузки Android с OkHttp с оператором сети Zain. >
Описание проблемы:
Загрузка не удалась во время подтверждения SSL. Эта проблема связана с определенными условиями сети:
  • Происходит при использовании Zain (сетевого оператора на Ближнем Востоке).
    Загрузка работает нормально при переключении на STC (другой оператор сети) или при отключении VPN.
Похоже, что ошибка не возникает на других серверах, только на Amazon AWS. S3.
Шаги по воспроизведению:
  • Настройте запрос на загрузку изображения по заранее подписанному URL-адресу на Amazon AWS. S3 с использованием OkHttp и службы загрузки Android.
  • Используйте устройство, подключенное через оператора сети Zain с включенным VPN.
  • Попытка загрузку и наблюдайте за сбросом соединения ошибка.
  • Повторите, указав STC в качестве оператора и отключив VPN, и убедитесь, что загрузка работает успешно.
Ожидаемое поведение:
Загрузка должна завершиться успешно через HTTPS независимо от оператора сети или VPN.

Версии ОС и библиотек:
  • Версия службы загрузки Android: 4.9.2
  • Версия Android и уровень API: Android 14 (уровень API 34) )
  • HTTP-стек: OkHttpStack
Пример кода:

Код: Выделить всё

suspend fun uploadPhoto(
uploadId: String,
preSignedUrl: String,
mimeType: String,
filePath: String,
postName: String,
) {
val request = BinaryUploadRequest(context, preSignedUrl).apply {
setUploadID(uploadId)
setMethod("PUT")
addHeader("Content-Type", mimeType)
setFileToUpload(filePath)
startUpload()
}
}
Журнал отладки:

Код: Выделить всё

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:191)
at com.android.org.conscrypt.ConscryptEngineSocket.doHandshake(ConscryptEngineSocket.java:238)
at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)
at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
at net.gotev.uploadservice.okhttp.OkHttpStackRequest.getResponse(OkHttpStackRequest.kt:94)
at net.gotev.uploadservice.HttpUploadTask.upload(HttpUploadTask.kt:50)
at net.gotev.uploadservice.UploadTask.run(UploadTask.kt:144)
Попытки устранения неполадок:
  • Переход с Zain в STC решает проблему, предполагая, что она может быть связана с сетью.
  • Отключение VPN также обеспечивает успешную загрузку.
    < li>Протестировал процесс загрузки с использованием различных стеков HTTP; проблема с OkHttpStack сохраняется.


Подробнее здесь: https://stackoverflow.com/questions/792 ... 3-using-ok
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»