【发布时间】:2020-11-26 09:13:03
【问题描述】:
我正在尝试在带有 ktor websocket 的 Android 设备上运行简单的聊天示例,但效果不佳。 在 MainActivity 中安装 websocket 服务器时出现错误
这里是 ktor websocket 的 build.gradle
//this is for project
ext.ktor_version = '1.2.5'
maven { url "https://dl.bintray.com/kotlin/ktor" }
//this is for app
packagingOptions {
exclude 'META-INF/*'
}
implementation "io.ktor:ktor-websockets:$ktor_version"
这是 MainActivity 的代码
import io.ktor.application.*
import io.ktor.features.*
import io.ktor.http.cio.websocket.*
import io.ktor.http.cio.websocket.CloseReason
import io.ktor.http.cio.websocket.Frame
import io.ktor.http.content.*
import io.ktor.routing.*
import io.ktor.sessions.*
import io.ktor.util.*
import io.ktor.websocket.*
import kotlinx.coroutines.channels.*
import java.time.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
install(WebSockets) {
pingPeriod = Duration.ofSeconds(60) // Disabled (null) by default
timeout = Duration.ofSeconds(15)
maxFrameSize = Long.MAX_VALUE // Disabled (max value). The connection will be closed if surpassed this length.
masking = false
}
}
}
当我在 Android Studio 上构建这段代码时,发生了错误
public fun <P : Pipeline<*, ApplicationCall>, B : Any, F : Any> ???.install(feature: ApplicationFeature<???, WebSockets.WebSocketOptions, WebSockets>, configure: WebSockets.WebSocketOptions.() -> Unit = ...): WebSockets defined in io.ktor.application
【问题讨论】: