Как получить весь IP-адрес локальной сети с помощью Java и вернуть его в массив (неблокирующий)?

Недавно я создал приложение клиент/сервер с помощью java, они подключаются нормально, но когда я тестирую его в своей школьной сети, оно больше не может нормально работать, поэтому мне нужен код, который возвращает все IP-адреса локальной сети в массив чтобы я мог поместить его в JComboBox, код должен быть неблокирующим, чтобы он не мог повесить мое приложение.

P/S: я пробовал метод грубой силы (как и другой ответ), чтобы получить все IP-адреса, но он просто зависает в моем приложении и действительно ненадежен.

В любом случае, спасибо за вашу помощь.

~ С уважением и хорошего дня


person Grim Reaper    schedule 27.03.2012    source источник
comment
Вы имеете в виду все IP-адреса, фактически назначенные компьютерам, или только все IP-адреса в вашей подсети? Поскольку последнее представляет собой простое вычисление, первое требует сканирования сети с помощью таких инструментов, как nmap или что-то в этом роде. В чем именно проблема в вашей системе, для чего вы хотите использовать IP-адреса? Возможно, есть способ обойти вашу проблему.   -  person G. Bach    schedule 27.03.2012


Ответы (1)


он больше не может нормально работать, поэтому мне нужен код, который возвращает все IP-адреса локальной сети в массив, чтобы я мог поместить его в JComboBox.

Зачем вам эти IP????

Проблема может быть следующей:
Либо вы привязываетесь к локальному хосту, и при развертывании на разных машинах вы не можете подключиться. Так что не привязывайтесь к локальному хосту.
Или есть брандмауэр. Так что разблокируйте брандмауэр.
Или нет маршрута между машинами. Можете ли вы хотя бы пропинговать его? (но если есть брандмауэр, он тоже не будет пинговаться).
Так что вы можете устранить неполадки.

person Cratylus    schedule 27.03.2012