isReachable дает странные результаты

Я пытаюсь пропинговать список компьютеров в локальной сети (адрес хранится в списке)

while(listIterator.hasNext())
{
// listIterator.next() will give address for each computer
boolean bool = inetAddress.isReachable(timeout);
}

Для каждой итерации я могу пропинговать только один компьютер, а остальные дают false (все компьютеры включены и работают в локальной сети). Может ли кто-нибудь предложить проблему в этом или эффективный способ сделать это?


person hoshang.varshney    schedule 14.10.2011    source источник


Ответы (1)


Вы работаете в Linux? Если это так, это действительно будет работать, только если вы работаете от имени пользователя root, поскольку для отправки «пингов» требуются привилегии root (настоящая команда ping настроена для эффективного запуска от имени пользователя root).

Как бы ужасно это ни звучало, лучше всего запустить команду «ping» и посмотреть ее код выхода.

person Paul Cager    schedule 14.10.2011