【发布时间】:2021-03-24 05:13:17
【问题描述】:
我正在使用我的 Java 和 Kotlin 桌面应用程序扫描本地网络。 (范围是 0-255,具有正确的 ip 前缀)但它正在跳过网络上的一些设备。可能是因为超时。所以我试图增加超时,但它抛出了这个异常:
java.net.SocketException: Unrecognized Windows Sockets error: 11050: no further information
at java.base/java.net.Inet4AddressImpl.isReachable0(Native Method)
at java.base/java.net.Inet4AddressImpl.isReachable(Inet4AddressImpl.java:70)
at java.base/java.net.InetAddress.isReachable(InetAddress.java:546)
at java.base/java.net.InetAddress.isReachable(InetAddress.java:505)
at utils.BackgroundScanner$prepareThreads$1.invoke(BackgroundScanner.kt:90)
at utils.BackgroundScanner$prepareThreads$1.invoke(BackgroundScanner.kt:13)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
代码:
val testIp = prefix + i
val address = InetAddress.getByName(testIp)
val reachable = try {
address.isReachable(5000)
} catch (f: java.lang.Exception) {
f.printStackTrace()
false
}
此代码也在协程线程中。
【问题讨论】:
标签: java sockets kotlin kotlin-coroutines