Тайм-аут запроса HTTP при ошибке приложения Android - PullRequest
0 голосов
/ 01 октября 2019

Привет, у меня есть серверное приложение, которое запущено на моем компьютере, и чтобы использовать его в своем приложении для Android, я использовал serveo, чтобы получить глобальный домен для моего локального хоста, например:

ssh -R myexpressjsproject:80:localhost:3000 serveo.net 

и т. Д. мое приложение для Android я пишу так:

fun getServerResponse(json : String){
    val neabyURL = url + "nearby"
    val client = OkHttpClient()
    client.setConnectTimeout(30, TimeUnit.SECONDS);
    client.setReadTimeout(30, TimeUnit.SECONDS);
    client.setWriteTimeout(30, TimeUnit.SECONDS);
    val JSON = MediaType.parse("application/json;charset=utf-8")
    val Body = RequestBody.create(JSON , json)
    val newReq = Request.Builder()
        .url(neabyURL)
        .post(Body)
        .build()
    try{

        val response : Response = client.newCall(newReq).execute()
        val responseStr : String = response.body().string()
        val Jobject = JSONObject(responseStr)
        lastCheckId = Jobject.getString("ca")


    }catch (e : Exception){
        Log.i("sending" , "problem happened")

        e.printStackTrace()
        return
    }
}

проблема в том, что мой API случайно получил эту ошибку:

java.net.SocketTimeoutException

и каждый раз один из моих API получает эту ошибкухотя я получаю ответ на мои запросы немедленно на почтальоне, и на моем сервере нет ошибок. Как вы думаете, это из-за службы serveo, и она будет решена, если я запустлю ее на реальном сервере или из-за моего кода Android?

...