
Лекции Java / 14. Основы создания сетевых приложений на Java.pptx
.pdf
Самарский государственный аэрокосмический университет имени академика С.П. Королёва
Лекция 14
Основы создания сетевых приложений на Java
© Составление, Гаврилов А.В., 2013
Самара
2013

План лекции
nПротоколы транспортного уровня
nПонятие сокета
nПакет java.net
nКлассы Socket и ServerSocket
nКлассы DatagramPacket и DatagramSocket
nКласс URL
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
2 |

Модель OSI
nПрикладной уровень
nУровень представления
nСеансовый уровень
nТранспортный уровень
nСетевой уровень
nУровень соединения
nФизический уровень
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
3 |

Transmission Control Protocol
nTCP – основанный на соединениях протокол, обеспечивающий надежную передачу данных между двумя компьютерами с сохранением порядка данных
nИспользуется в: HTTP, FTP, Telnet и др.
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
4 |

User Datagram Protocol
nUDP – не основанный на соединениях протокол, реализующий пересылку независимых пакетов данных, называемых дейтаграммами, от одного компьютера к другому без гарантии их доставки
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
5 |

Модель «Клиент-сервер»
n Порядок работы
•Каждая из сторон виртуального соединения называется «сокет» (socket)
•Процесс-сервер инициализируется при запуске и далее бездействует, ожидая поступления запроса от клиента
•Процесс-клиент посылает запрос на установление соединения с сервером, требуя выполнить для него определенную функцию
n Виды приложений-серверов
•Сервер последовательной обработки запросов
•Сервер параллельной обработки запросов
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
6 |

Понятие порта
nКомпьютер (обычно) имеет только одно физическое соединение с сетью
nСоединение описывается, например, IPадресом (32 или 128 бит на нынешний момент)
nКак различать информацию для различных приложений?
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
7 |

Понятие порта
app app app app
port port port port
TCP or UDP
Packet
port # data
nСокет привязывается к порту
nПорт описывается 16-битным числом
nПорты 0-1023 зарезервированы
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
8 |

Интерфейс сокетов
nВ 80-ых годах американское правительственное агентство по поддержке исследовательских проектов (ARPA), финансировало реализацию протоколов TCP/IP для UNIX в Калифорнийском университете в г. Беркли
nРазработан интерфейс прикладного программирования для сетевых приложений
TCP/IP (TCP/IP API)
nTCP/IP sockets или Berkeley sockets
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
9 |

Связь с файловой системой
nTCP/IP в рамках UNIX
nИнтерфейс сокетов – через системные вызовы
UNIX
nСистемные вызовы ввода-вывода UNIX выглядят как последовательный цикл:
•открыть
•считать/записать
•закрыть
nНет различий между файлами и внешними устройствами
Самарский государственный аэрокосмический университет имени академика С.П. Королёва |
10 |