Kotlin/本机can';t导入io.ktor.network.selector.ActorSelectorManager
我想使用KTOR在Kotlin/Native中使用TCP套接字,我遵循了相应的步骤。但不知何故,我无法从Kotlin/本机can';t导入io.ktor.network.selector.ActorSelectorManager,kotlin,ktor,kotlin-native,Kotlin,Ktor,Kotlin Native,我想使用KTOR在Kotlin/Native中使用TCP套接字,我遵循了相应的步骤。但不知何故,我无法从io.ktor.network.selector导入ActorSelectorManager并获取未解析的引用:ActorSelectorManager 我的build.gradle.kts如下所示: plugins { kotlin("multiplatform") version "1.4.32" kotlin("plugi
io.ktor.network.selector
导入ActorSelectorManager
并获取未解析的引用:ActorSelectorManager
我的build.gradle.kts
如下所示:
plugins {
kotlin("multiplatform") version "1.4.32"
kotlin("plugin.serialization") version "1.4.32"
}
repositories {
mavenCentral()
jcenter()
maven { url = uri("https://plugins.gradle.org/m2/") }
maven { url = uri("http://dl.bintray.com/kotlin/kotlin-dev") }
maven { url = uri("https://kotlin.bintray.com/kotlinx") }
}
kotlin {
val hostOs = System.getProperty("os.name")
val isMingwX64 = hostOs.startsWith("Windows")
val target = when {
hostOs == "Mac OS X" -> macosX64("SocketStuff")
hostOs == "Linux" -> linuxX64("SocketStuff")
isMingwX64 -> mingwX64("SocketStuff")
else -> throw GradleException("Host OS is not supported in Kotlin/Native.")
}
target.apply {
binaries {
executable {
entryPoint = "main"
}
}
}
sourceSets {
val Main by getting
val Test by getting
commonMain {
sourceSets["commonMain"].dependencies {
implementation("io.ktor:ktor-network:1.5.3")
}
}
}
}
有人知道我是否忘记添加依赖项或什么吗?JVM上有
ActorSelectorManager
,本机目标上有WorkerSelectorManager
。您可以使用构造函数SelectorManager()
实例化相应的选择器管理器实例:
import io.ktor.network.selector.*
fun main() {
val manager = SelectorManager()
}
第一:谢谢你的回答。不幸的是,我得到
这个API在ktor中是内部的,不应该使用。它可以在不通知的情况下删除或更改。
还有其他方法吗?我可以添加@OptIn(InternalAPI::class)
,但我不想说这个注释没有任何意义,在2.0.0版中将被删除,所以请随意使用这个函数。我只有最后一个问题:我得到编译失败:声明public kotlinx.coroutines/SingleThreadDispatcher | null[0]找不到
这意味着什么?尝试在本机目标上使用具有多线程支持的协程库:实现“org.jetbrains.kotlinx:kotlinx协程核心:1.4.3-native-mt”
我现在检测到未完成的工作线程,1个工作线程泄漏代码>