小编Joh*_*ehm的帖子

Kotlin Coroutine - 是否有默认超时

我正在尝试连接服务器,但有时速度很慢。我正在使用的 ktor 客户端因 崩溃而崩溃Exception in thread "main" kotlinx.coroutines.TimeoutCancellationException: Timed out waiting for 15000 ms,即使我从未指定任何限制。是否集成了默认超时?

最小的例子:

主程序.kt

import io.ktor.client.engine.cio.*
import io.ktor.client.features.*
import io.ktor.client.request.*


suspend fun main() {
    val client = HttpClient(CIO) {
        install(HttpTimeout) {
            requestTimeoutMillis = HttpTimeout.INFINITE_TIMEOUT_MS
            connectTimeoutMillis = HttpTimeout.INFINITE_TIMEOUT_MS
            socketTimeoutMillis = HttpTimeout.INFINITE_TIMEOUT_MS
        }
    }

    val foo = client.get<String>("http://slowwly.robertomurray.co.uk/delay/20000/url/http://www.google.co.uk")
    println(foo)

}
Run Code Online (Sandbox Code Playgroud)

构建.gradle.kts

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    kotlin("jvm") version "1.4.10"
    application
}
group = "me.oehmj"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

val ktor_version: String by project
val kotlin_serialization_version: String …
Run Code Online (Sandbox Code Playgroud)

ktor kotlin-coroutines

6
推荐指数
1
解决办法
7800
查看次数

标签 统计

kotlin-coroutines ×1

ktor ×1