Kotlin - 如何使用 OkHttp Kotlin 设置连接超时



我看到这个'

如何使用 OkHttp 设置连接超时

但是这个链接的Java(Android(语言.我想使用kotlin语言...`我正在使用 OkHttp 库

 val client = OkHttpClient()
 val time = client.connectTimeoutMillis() // it's get only methood but i looking for method for set Timeout

我的麻烦是我找不到如何为 Kotlin 设置连接超时和套接字超时。

需要Builder,没有可用的二传手。使用 OkHttp 3.9.1,您可以执行以下操作:

val client = OkHttpClient.Builder()
    .connectTimeout(10, TimeUnit.SECONDS)
    .writeTimeout(10, TimeUnit.SECONDS)
    .readTimeout(30, TimeUnit.SECONDS)
    .build()

与接受的答案没有太大区别,但似乎最好返回相同的 OkHttpClient 以避免内存泄漏。

sealed class ClientBuilder {
    companion object {
        val plainClient: OkHttpClient by lazy {
             OkHttpClient
                .Builder()
                .connectTimeout(5, TimeUnit.SECONDS)
                .readTimeout(3, TimeUnit.SECONDS)
                .writeTimeout(3, TimeUnit.SECONDS)
                .build()
        }
    }
    fun client() : OkHttpClient {
        return plainClient
    }
}

最新更新