HttpURLConnection SocketTimeoutException не работает, когда установлен тайм-аут - PullRequest
0 голосов
/ 25 сентября 2019

Я хочу установить тайм-аут для моих запросов в приложении, если соединение медленное (например, пользователь отправляет в туннель, так как какой-то запрос выполняется в фоновом режиме).

Я хочу, чтобы время ожидания каждого звонка составляло 5 секунд.Он перенаправит его на специальный экран NoConnection.Я установил его на 5000 (я думаю, это в мс). Я ждал более 30 секунд, и исключение не возвращалось.Если я установлю, например, на 10, он вернет SocketTimeoutException и все работает.

Код:

try{
    val con = url.openConnection() as HttpURLConnection
    con.requestMethod = method
    con.connectTimeout = 5000
catch(e: IOException){
    if(e is SocketTimeoutException){
       throw OfflineError()
    }else{
       throw GenericError()
    }

}
...