Ошибка нераспознанных сокетов Windows: 11050: нет дополнительной информации

#java #sockets #kotlin #kotlin-coroutines

#java #сокеты #kotlin #kotlin-сопрограммы

Вопрос:

Я сканирую локальную сеть с помощью своего настольного приложения Java amp; 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
}
 

Также этот код находится в потоке сопрограммы.

Ответ №1:

Проверьте настройки брандмауэра, если вы используете Windows. В моем случае у меня было исходящее правило, которое блокировало IP, к которому я пытался подключиться.