| |
ess для локального узла, то
есть для той рабочей станции, на которой выполняется приложение Java. Так как
этот метод статический, вы можете вызывать его, ссылаясь на имя класса
InetAddress:
InetAddress iaLocal;
iaLocal = InetAddress.getLocalHost();
Создание объекта класса InetAddress для удаленного узла
В том случае, если вас интересует удаленный узел сети Internet или
корпоративной сети Intranet, вы можете создать для него объект класса
InetAddress с помощью методов getByName или getAllByName. Первый из них
возвращает адрес узла, а второй - массив всех адресов IP, связанных с данным
узлом. Если узел с указанным именем не существует, при выполнении методов
getByName и getAllByName возникает исключение UnknownHostException.
Заметим, что методам getByName и getAllByName можно передавать не только имя
узла, такое как “microsoft.com”, но и строку адреса IP в виде четырех
десятичных чисел, разделенных точками.
После создания объекта класса InetAddress для локального или удаленного узла
вы можете использовать другие методы этого класса.
Определение адреса IP
Метод getAddress возвращает массив из чеырех байт адреса IP объекта. Байт с
нулевым индексом этого массива содержит старший байт адреса IP.
Метод toString возвращает текстовую строку, которая содержит имя узла,
разделитель ‘/’ и адрес IP в виде четырех десятичных чисел, разделенных точками.
Определение имени узла
С помощью метода getHostName вы можете определить имя узла, для которого был
создан объект класса InetAddress.
Сравнение адресов IP
И, наконец, метод equals предназначен для сравнения адресов IP как объектов
класса InetAddress.
Приложение InetAddressDemo
Приложение InetAddressDemo отображает имя и адрес IP локального узла, а
затем запрашивает имя удаленного узла. Еси такой узел существует, для него
определяется и отображается на консоли список адресов IP (рис. 3.1).
Рис. 3.1. Работа приложения InetAddressDemo
Если же указано имя несуществующего узла, возникает исключение
UnknownHostException, о чем на консоль выводится сообщение.
Исходные тексты приложения InetAddressDemo
Исходные тексты приложения InetAddressDemo приведены в листинге 3.1.
Листинг 3.1. Файл InetAddressDemo\InetAddressDemo.java
// =========================================================
// Работа с адресами IP с помощью класса InetAddress
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.net.*;
import java.io.*;
import java.util.*;
// =========================================================
// Класс InetAddres
|
|