Одним из преимуществ языка Java является то, что программы Java могут получать доступ к сетевым ресурсам. Java предоставляет ряд классов для поддержки программ Java при доступе к сетевым ресурсам.
Протокол TCP/IP и IP-адрес
Для связи в Интернете обе стороны должны соблюдать протокол связи. В настоящее время наиболее широко используемым протоколом является протокол TCP/IP, который является общедоступным протоколом, которому следуют все стороны Интернета. ) — это протокол управления передачей, а IP (Интернет-протокол) — это Интернет-протокол, а TCP/IP представляет эти два протокола.
TCP/IP разделен на четыре уровня:
Протокол TCP рассматривает любую передачу сетевой информации как информационный поток. Например, если длинное сообщение отправляется с машины А на машину Б, отправителю А необходимо фрагментировать данные, упаковать и отправить каждую часть данных отдельно. Пакет данных имеет заголовок, который указывает, куда отправляется пакет данных, и положение данных в последовательности приема. Каждый пакет передается с одной машины на другую машину или с одного сетевого узла на другой сетевой узел в соответствии с пунктом назначения, указанным в IP-адресе. На принимающей стороне B эти пакеты данных могут быть повторно собраны в правильном порядке.
Протокол TCP/IP представляет собой набор протоколов, состоящий из набора протоколов, в основном включающего следующие более конкретные протоколы:
Telnet (удаленный вход): позволяет пользователю компьютера входить на другой удаленный компьютер, выполняя удаленные операции так, как если бы они выполнялись на локальном компьютере.
FTP (протокол передачи файлов): позволяет пользователям копировать файлы с удаленного хоста на свой компьютер.
SMTP (простой протокол передачи почты): используется для передачи электронной почты.
NFS (сетевой файловый сервер): позволяет нескольким компьютерам прозрачно получать доступ к каталогам друг друга.
HTTP: протокол передачи гипертекста, основанный на протоколе TCP/IP и являющийся протоколом связи прикладного уровня между WWW-браузером и сервером. HTTP — это объектно-ориентированный протокол общего назначения без сохранения состояния. HTTP-сеанс (транзакция) состоит из четырех этапов: подключение, запрос, ответ и закрытие.
Язык Java позволяет писать низкоуровневые сетевые приложения. Например, передавать файлы, строить почтовые контроллеры, обрабатывать сетевые данные и т. д. Интернет-протоколы, поддерживаемые языком Java, включают ftp, telnet, www и т. д. Программное обеспечение, поддерживающее сетевую связь, находится в пакете java.net, например java.net.ftp, java.net.www и т. д.
IP-адрес используется для указания адреса компьютера в сети Интернет с использованием 32-битного двоичного кода для представления сетевого адреса. Адреса разделены на пять категорий: A, B, C, D и E. Наиболее часто используемые категории — A, B и C:
A (1.0.0.0-126.255.255.255): 0,7-значный номер сети, последние 24 цифры — номер хоста;
B (128.0.0.0-191.255.255.255): 10, 14-значный номер сети, последние 16 цифр — номер хоста;
C (192.0.0.0-223.255.255.255): 110, 21-значный номер сети, последние 8 цифр — номер хоста;
D (224.0.0.0-239.255.255.255): 1110, 28-битный номер группы многоадресной рассылки;
E (240.0.0.0-254.255.255.255): 1111, зарезервировано для тестового использования.
Обычно IP-адрес представляется четырехсегментным десятичным числом (один сегмент из 8 цифр). Например:
58.218.204.252
Или представлено текстовым доменным именем. Например:
www.VeVB.COM
В Интернете сервер доменных имен (DNS) выполняет сопоставление буквальных имен с двоичными сетевыми адресами.
Класс инетадресс
В пакете Java.net есть определение класса InetAddress. Объекты класса InetAddress используются для IP-адресов и доменных имен. Этот класс предоставляет следующие методы:
getByName(String s): Получите объект класса InetAddress, который содержит IP-адрес и доменное имя хоста. Объект представляет содержащуюся в нем информацию в следующем формате: www.sina.com.cn/202.108.37.40;
String getHostName(): Получите доменное имя объекта InetAddress;
String getHostAddress(): Получить IP-адрес объекта InetAddress;
getLocalHost(): Получите объект InetAddress, который содержит имя домена и IP-адрес локального компьютера.
[Пример] Приложение, объясняющее использование класса Inetaddress. Программа демонстрирует, как получить доменное имя и IP-адрес www.weixueyuan.net.
Import java.net.*;Class example10_1{ Public static void main(String args[]){ Try{ //Следующий код создает объект InetAddress через имя домена: InetAddress addr = InetAddress.getByname("www.VeVB.COm "); String domainName = addr.getHostName();//Получаем имя хоста String IPName = addr.getHostAddress();//Получить IP-адрес System.out.println(domainName); System.out.println(IPName); }catch(UnknownHostException e){ e.printStackTrace() } }};
Результат работы:
www.VeVB.COM58.218.204.252