Программирования сетевых взаимодействий в Java. Сухов С.А. - 5 стр.

UptoLike

Составители: 

5
1. ПРОГРАММИРОВАНИЕ В JAVA СЕТЕВЫХ
ВЗАИМОДЕЙСТВИЙ
1.1. Основы работы с сетью
В основе сетевой поддержки Java лежит концепция сокета (socket). Сокет
идентифицирует конечную точку сети. Сокетыоснова современных сетей,
поскольку сокет позволяет отдельному компьютеру обслуживать одновременно
множество разных клиентов и множество различных типов информации. Это
достигается за счет использования порта (port) – нумерованного сокета на
определенной машине. Считают, что серверный процесс «слушает» порт до тех
пор, пока клиент не соединится с ним. Сервер в состоянии принять множество
клиентов, подключенных к одному и тому же номеру порта, хотя каждый сеанс
является уникальным. Чтобы обработать множество клиентских соединений,
серверный процесс должен быть многопоточным либо обладать какими-то
другими средствами обработки одновременного ввода-вывода.
Сокетные коммуникации происходят по протоколу IP (Internet Protocol –
IP) – это низкоуровневый маршрутизирующий протокол, который разбивает
данные на небольшие пакеты и посылает их через сеть по определенному
адресу, что не гарантирует доставки всех этих пакетов по этому адресу.
Протокол управления передачей (Transmission Control Protocol – TCP) является
протоколом более высокого уровня, обеспечивающий надежную сборку этих
пакетов, сортировку и повторную передачу, необходимую для надежной
доставки данных. Третий протоколпротокол пользовательских дейтаграмм
(User Datagram Protocol – UDP), стоящий непосредственно за TCP, может быть
использован непосредственно для поддержки быстрой, не требующей
постоянного соединения и ненадежной транспортировки пакетов.
Как только соединение установлено, применяется высокоуровневый
протокол, зависящий от используемого порта. TCP/IP резервирует первые
1024 порта для специфических протоколов. Порт номер 21 – для FTP, 23 – для
Telnet, 25 – для электронной почты, 80 – для HTTP, 119 – для netnews.
Например, HTTP – это протокол, используемый Web-браузерами и
серверами для передачи гипертекста и графических изображений. Он работает
следующим образом. Когда клиент запрашивает файл с сервера HTTP, это
действие известно как попадание (hit) и состоит в простой отправке имени
файла в определенном формате на предопределенный порт с последующим
чтением содержимого этого файла. Сервер также сообщает код состояния,
чтобы известить клиента о том, был ли запрос обработан или нет, и по какой
причине. Подробнее протоколы HTTP и FTP будут рассмотрены в главе 2.
Ключевым компонентом Интернет является адрес. Каждый компьютер в
Интернет обладает собственным адресом. Адрес Интернет представляет собой
число, уникально идентифицирующее каждый компьютер в Интернет.
Изначально все Интернет-адреса состояли из 32-битных значений,
организованных в четыре 8-битных значения. Адрес такого типа определен