【发布时间】:2021-10-07 18:53:33
【问题描述】:
今天我正在制作一个实时应用程序,我想使用 WebSockets 来更新我的状态。
在我得到这个异常之前一切都很好:
kotlinx.serialization.SerializationException: Serializer for class 'DefaultClientWebSocketSession' is not found.
Mark the class as @Serializable or provide the serializer explicitly.
我找了又找,什么都没找到。
所以我的代码看起来与此类似:
Gradle 导入:
implementation("io.ktor:ktor-client-core:1.6.2")
implementation("io.ktor:ktor-client-cio:1.6.2")
implementation("io.ktor:ktor-client-serialization:1.6.2")
implementation("io.ktor:ktor-client-websockets:1.6.2")
代码:
suspend fun main() {
val endpoint = Url("http://localhost:8080")
val client = HttpClient(CIO) {
install(JsonFeature) {
serializer = KotlinxSerializer()
}
install(WebSockets)
}
client.webSocket({
url {
takeFrom(endpoint)
path("beeam")
}
}) {
//Do something
}
}
我希望有人可以帮助我。
【问题讨论】:
-
能否尝试将端点 URL 中的
http协议替换为ws?另外,请分享服务器的设置。 -
感谢您的帮助!问题在于方案。但是执行文本实际上与该方案无关。
标签: kotlin ktor ktor-client