我正在用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
}
同样,这段代码也在一个协程线程中。
暂无答案!
目前还没有任何答案,快来回答吧!