| |
Remote host IP address: " +
iaRemoteAll[i].toString());
}
System.out.println("Press to terminate...");
System.in.read(bKbdInput);
}
catch(Exception ioe)
{
System.out.println(ioe.toString());
}
}
}
Описание исходных текстов
Сразу после запуска приложение создает кобъект класса InetAddress для
локального узла, вызывая для этого статический метод getLocalHost:
iaLocal = InetAddress.getLocalHost();
Далее для созданного объекта вызывается метод getHostName, возвращающий
строку имени локального узла:
System.out.println("Local host name: " +
iaLocal.getHostName());
Это имя отображается на консоли приложения.
Затем приложение определяет адрес IP локального узла, вызывая метод
getAddress:
iaLocalIP = iaLocal.getAddress();
Напомним, что этот метод возвращает массив четырех байт адреса IP.
Адрес IP мы отображаем на консоли с помощью метода println:
System.out.println("Local host IP address: " +
(0xff & (int)iaLocalIP[0]) + "." +
(0xff & (int)iaLocalIP[1]) + "." +
(0xff & (int)iaLocalIP[2]) + "." +
(0xff & (int)iaLocalIP[3]));
Заметьте, что байты адреса записваются в массив типа byte как знаковые
величины. Для того чтобы отображить их на консоли в виде положительных чисел,
мы вначале выполняем явное преобразование к типу int, а затем обнуляем старший
байт (так как такое преобразование выполняется с сохранением знака).
Наше приложение демонстрирует также другой способ получения адреса IP для
объекта класса InetAddress, который заключается в вызове метода toString:
System.out.println("Local host IP address: " +
iaLocal.toString());
На втором этапе приложение InetAddressDemo вводит строку имени удаленного
узла и, после удаления символа перехода на новую строку, пытается создать для
введенного имени массив объектов класса InetAddress. Для этого приложение
вызывает метод getAllByName:
iaRemoteAll = InetAddress.getAllByName(str);
Содержимое созданного массива отображается в цикле, причем адрес IP
извлекается из объектов класса InetAddress методом toString:
for(int i = 0; i < iaRemoteAll.length; i++)
{
System.out.println("Remote host IP address: " +
iaRemoteAll[i].toString());
}
Универсальный адрес ресурсов URL
Адрес IP позволяет идентифицировать узел, однако его недостаточно для
идентификации ресурсов, имеющихся на этом узле, таких как работающие приложения
или файлы. Причина очевидна - на узле, имеющем один адрес IP, может
существовать много различных ресурсов.
Для ссылки на ресурсы сети Internet применяется так называемый универсальный
адрес ресуросв URL (Universal Resource Locator). В общем виде этот адрес
выглядит следующим образом:
[protocol]://host[:port][path]
Строка адреса начинаетс с протокола protocol, который должен быть
использован для доступа к ресурсу. Документы HTML, например, передаются из
сервера Web удаленным пользователям с помощью протокола HTTP. Файловые серверы
в сети Internet работают с протоколом FTP.
Для ссылки
|
|