Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Работа с сетью > Анализ домена


Автор: hovex 6.6.2006, 15:25
Прива.
Я попробовал написать прогу, которая в домене искала бы компютеры у которых ip addres лежит скажем между 172.26.2.1   и  172.26.4.255 аддресами.
 И я читаю их имена 
с помошю функции InettAddress.getHostName();  
почему те аддресса что свободны, тоже попадают в лист но вместоих имён   написано просто аддресс.
Может проблема в DHCP сервере?   

Автор: LSD 6.6.2006, 23:30
Ну можно например получать имена хостов непосредственно от DNS сервера, хотя это и сложнее реализовать.
А можно просто проверять хост, на доступность:
Код
InetAddress host = InetAddress.getByAddress(ip);
if(host.isReachable(1000))
{
  ....    
}
 

Автор: hovex 7.6.2006, 10:35
С DNS сервера?
Ты имееш ввиду посылать запрос Интересно как ето можно делат?
Если можно в двух словах?


А если исползовать  isReacheble() , может ли возникнут проблемы с DHCP , то есть возможно ли что функция ответит положительно тогда , когда компютера с таким ИП реально сушетвует?
 

Автор: LSD 7.6.2006, 20:58
Цитата(hovex @  7.6.2006,  11:35 Найти цитируемый пост)
С DNS сервера?
Ты имееш ввиду посылать запрос Интересно как ето можно делат?
Если можно в двух словах?

Через http://java.sun.com/products/jndi/downloads/index.html, подключаешь DNS провайдера и можешь искать. Рекомендую посмотреть примерчик JNDI Demo Browser.


Цитата(hovex @  7.6.2006,  11:35 Найти цитируемый пост)
А если исползовать  isReacheble() , может ли возникнут проблемы с DHCP , то есть возможно ли что функция ответит положительно тогда , когда компютера с таким ИП реально сушетвует?

На самом деле там идет обычный ping. Так что true будет только тогда когда компьютер включен.


Еще есть вариант просто анализировать, возвращаемую строку, задаешь regexp для IP адреса, и если совпадает, значит имя хоста получить не удалось. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)