Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Сетевой Краткий обзор Java

Сетевой API Java (java.net) обеспечивает интерфейсы/классы для следующих функций:

Цель этого документа состоит в том, чтобы обеспечить общий обзор средств java.net пакет обеспечивает. Для получения дополнительной информации об интерфейсах, классы, или фабрики, видят объединяющийся в сеть API. Для основных сетевых понятий см. След: Пользовательские Сети в Учебном руководстве по Java.

Адресация

java.net обеспечивает следующие связанные с адресацией классы:

Для адресации IP обеспечиваются три класса: InetAddress, Inet4Address, и Inet6Address. InetAddress представляет IP-адрес, который является или 32-или 128-разрядным числом без знака, используемым IP, протоколом низшего уровня, на котором создаются протоколы как TCP и UDP. Представлять 32-разрядный адрес IPv4, Inet4Address обеспечивается. (У адреса IPv4 есть знакомая форма nnn.nnn.nnn.nnn, где n целое число; например, 192.0.2.254). Это - подкласс InetAddress. Представлять 128-разрядные адреса IPv6, Inet6Address обеспечивается. Это - также подкласс InetAddress.

Блок-схема показывая логику вытекает из InetAddress к Inet4Address и Inet6Address

Для адресации сокета обеспечиваются два класса: SocketAddress и InetSocketAddress. SocketAddress abstract снабдите сокетом адрес, независимый от определенного протокола. Это предназначается для того, чтобы разделить на подклассы для определенного протокола. InetSocketAddress ниже пример. InetSocketAddress подкласс SocketAddress; это представляет адрес сокета IP. Это может включать IP-адрес (например, 192.0.2.254) и порт (например, 80); имя узла (например, example.com) и порт (например, 1000); или порт только (например, 1010). В последнем случае принимается подстановочный IP-адрес.

Схема показывая логику течет между SocketAddress и InetSocketAddress

Создание Соединений TCP

Эти классы связываются с созданием нормальных соединений TCP:

Для простых соединений между клиентом и сервером, ServerSocket и Socket все, в чем Вы будете, вероятно, нуждаться.

ServerSocket представляет сокет на сервере, который ожидает и прислушивается к запросам на службу от клиента. Socket представляет конечные точки для передачи между сервером и клиентом. Когда сервер получает запрос на службу, он создает a Socket для передачи с клиентом и продолжает прислушиваться к другим запросам на ServerSocket. Клиент также создает a Socket для передачи с сервером. Последовательность показывают ниже:

См. длинное описание[D]

Как только соединение устанавливается, getInputStream() и getOutputSteam() может использоваться в передаче между сокетами

Отправка/Получение Пакетов Дейтаграммы через UDP

Следующее связывается с отправкой и получением пакетов дейтаграммы через UDP.

DatagramPacket представляет пакет дейтаграммы. Пакеты дейтаграммы используются для поставки без установления соединения и обычно включают информация о порте и адрес получателя. DatagramSocket сокет, используемый для отправки и получения пакетов дейтаграммы по сети через UDP. A DatagramPacket отправляется от a DatagramSocket вызывая send(...) метод DatagramSocket с DatagramPacket как параметр: send(DatagramPacket dp). receive(DatagramPacket dp) использование для того, чтобы получить a DatagramPacket. ( MulticastSocket class может использоваться для того, чтобы отправить/получить a DatagramPacket mulitcast группе. Это - подкласс DatagramSocket это добавляет функциональность для многоадресной передачи.)

См. длинное описание[D]

Определение местоположения/Идентификация Сетевых Ресурсов

Эти классы связываются с определением местоположения или идентификацией сетевых ресурсов:

Обычно используемые классы URI, URL, URLConnection, и HttpURLConnection.

URI представляет Универсальный Идентификатор ресурса для ресурса; это - идентификатор для ресурса, но не обязательно локатора для того ресурса. URL представляет Универсальный Локатор Ресурса для ресурса. URL являются подмножеством URI, хотя class URL не подкласс URI class. Короче говоря, URL говорит, как получить доступ к ресурсу, в то время как URI может, или не может. Универсальное Имя Ресурса (URN) другое подмножество URI. Никакой Java class не существует для этого.

Схема показывая URL и УРНУ как подклассы URI.

URLConnection абстрактный суперкласс всех классов, которые представляют соединение между приложением и сетевым ресурсом, идентифицированным a URL. Данный a URL и следовательно протокол, URL.openConnection() возвращает экземпляр соответствующей реализации URLConnection для протокола. (Протокол известен от URL.) Экземпляр обеспечивает means⠀”URLConnection.connect()⠀”, чтобы фактически открыть соединение и получить доступ URL.

См. длинное описание[D]

HttpURLConnection обычно используемая реализация URLConnection. Это для http протокол, протокол используется для того, чтобы получить доступ к контенту на веб-серверах. В вышеупомянутой схеме, если протокол доступа для URL были http, тогда экземпляр HttpURLConnection был бы возвращен openConnection() метод.

Безопасность

Безопасность включает аутентификацию - и связанные с полномочиями классы. Аутентификация касается пользовательской аутентификации и включает проверку имени пользователя и пароля. Аутентификация пользователя может требоваться во многих ситуациях, такой как тогда, когда пользователь пытается получить доступ к URL. Полномочия касаются того, какие действия могут быть выполнены; например, если NetPermission объект"setDefaultAuthenticator"существует, затем вызывая метод Authenticator.setDefault(Authenticator a) вызовет исключение безопасности.

Аутентификация

Некоторые прокси и серверы источника запрашивают информацию аутентификации, используя схемы аутентификации такой в качестве ОСНОВНОЙ и ОБЗОР. Например, когда соединение с http через прокси и прокси требует аутентификации, мы вызываем Authenticator class, чтобы получить имена пользователей, пароли, и другие элементы должен был аутентифицировать. Следующие классы касаются аутентификации:

В дополнение к методам для пользовательской аутентификации, abstract class Authenticator также имеет методы для того, чтобы запросить об аутентификации, которую требуют (см. getRequestingXXX()). Это обычно разделяется на подклассы, и экземпляр подкласса регистрируется в системе, вызывая setDefault(Authenticator a). (Отметьте, что, если есть менеджер безопасности, он проверяет, чтобы видеть, что политика безопасности разрешает NetPermission "setDefaultAthenticator".) Затем, когда система требует аутентификации, она вызовет метод такой как requestPasswordAuthentication().

PasswordAuthentication просто держатель данных для имени пользователя и пароля.

Полномочия

A SocketPermission состоит из узла, с дополнительным диапазоном порта, и рядом действий, которые могут быть выполнены на этом host⠀”connect, accept, listen и/или resolve. Это включает методы, чтобы определить если один SocketPermission равно другому или подразумевает другого Permission. A SocketPermission может быть включен в a PermissionCollection для легкой проверки, если разрешение существует.

NetPermission class для различных именованных сетевых полномочий. В настоящий момент есть три: setDefaultAuthenticator, как упомянуто выше; requestPasswordAuthentication; и specifyStreamHandler. A NetPermission может быть включен в a PermissionCollection для легкой проверки, если разрешение существует.

Для получения дополнительной информации о полномочиях, см. тему Полномочий.

 


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами