Презентация - Основы создания сетевых приложений

Смотреть слайды в полном размере
Презентация Основы создания сетевых приложений


Вашему вниманию предлагается презентация на тему «Основы создания сетевых приложений», с которой можно предварительно ознакомиться, просмотреть текст и слайды к ней, а так же, в случае, если она вам подходит - скачать файл для редактирования или печати.

Презентация содержит 40 слайдов и доступна для скачивания в формате ppt. Размер скачиваемого файла: 488.00 KB

Просмотреть и скачать

Pic.1
Основы создания сетевых приложений
Основы создания сетевых приложений
Pic.2
План лекции Протоколы транспортного уровня Сокеты Использование сокетов на Java Класс URL и его испо
План лекции Протоколы транспортного уровня Сокеты Использование сокетов на Java Класс URL и его использование
Pic.3
Модель OSI Уровень приложений (layer 7, data) Уровень представления (layer 6, data) Сеансовый уровен
Модель OSI Уровень приложений (layer 7, data) Уровень представления (layer 6, data) Сеансовый уровень (layer 5, data) Транспортный уровень (layer 4, segment) Сетевой уровень (layer 3, packet) Уровень соединения (layer 2, frame) Физический уровень (layer 1, bit)
Pic.4
Инкапсуляция пакета
Инкапсуляция пакета
Pic.5
Передача сообщения по сети Сообщение состоит из заголовка и данных Для каждого следующего уровня соо
Передача сообщения по сети Сообщение состоит из заголовка и данных Для каждого следующего уровня сообщение предыдущего уровня представляется как единое целое На физическом уровне сообщение содержит информацию всех семи уровней, кодируется и передается получателю
Pic.6
Transmission Control Protocol TCP – основанный на соединениях протокол, обеспечивающий надежную пере
Transmission Control Protocol TCP – основанный на соединениях протокол, обеспечивающий надежную передачу данных между двумя компьютерами, с сохранением порядка следования данных Используется в: HTTP, FTP, Telnet и др.
Pic.7
User Datagram Protocol UDP – не основанный на соединениях протокол, реализующий пересылку независимы
User Datagram Protocol UDP – не основанный на соединениях протокол, реализующий пересылку независимых пакетов данных, называемых дейтаграммами, от одного компьютера к другому без гарантии их доставки
Pic.8
Основные характеристики TCP и UDP
Основные характеристики TCP и UDP
Pic.9
Модель «Клиент-сервер» Порядок работы Каждая из сторон виртуального соединения называется «сокет» (s
Модель «Клиент-сервер» Порядок работы Каждая из сторон виртуального соединения называется «сокет» (socket) Приложение-сервер инициализируется при запуске и далее бездействует, ожидая поступления запроса от клиента Процесс-клиент посылает запрос на установление соединения с сервером, требуя выполнить для него определенную функцию Виды приложений-серверов Сервер последовательной обработки запросов Сервер параллельной обработки запросов
Pic.10
Понятие порта Компьютер (обычно) имеет только одно физическое соединение с сетью Соединение описывае
Понятие порта Компьютер (обычно) имеет только одно физическое соединение с сетью Соединение описывается, например, IP-адресом (32 бита на нынешний момент) Как различать информацию для различных приложений?
Pic.11
Понятие порта Сокет привязывается к порту Порт описывается 16-битным числом Порты 0-1023 зарезервиро
Понятие порта Сокет привязывается к порту Порт описывается 16-битным числом Порты 0-1023 зарезервированы
Pic.12
Интерфейс сокетов В 80-ых годах американское правительственное агентство по поддержке исследовательс
Интерфейс сокетов В 80-ых годах американское правительственное агентство по поддержке исследовательских проектов (ARPA), финансировало реализацию протоколов TCP/IP для UNIX в Калифорнийском университете в г. Беркли Разработан интерфейс прикладного программирования для сетевых приложений TCP/IP (TCP/IP API) TCP/IP sockets или Berkeley sockets
Pic.13
Связь с файловой системой Интерфейс сокетов – через системные вызовы UNIX Системные вызовы ввода-выв
Связь с файловой системой Интерфейс сокетов – через системные вызовы UNIX Системные вызовы ввода-вывода UNIX выглядят как последовательный цикл: открыть считать/записать закрыть Нет различий между файлами и внешними устройствами
Pic.14
Проблемы сетевого ввода/вывода Модель клиент-сервер не соответствует системе ввода-вывода UNIX Не ум
Проблемы сетевого ввода/вывода Модель клиент-сервер не соответствует системе ввода-вывода UNIX Не умеют устанавливать соединения Используется фиксированный адрес файла Соединение с файлом доступно на протяжении всего цикла запись-считывание Для не ориентированных на соединение протоколов фиксированный адрес – проблема: при передаче дейтаграммы адрес есть, а соединения нет
Pic.15
Абстракция сокета Сетевое соединение – это процесс передачи данных по сети между двумя компьютерами
Абстракция сокета Сетевое соединение – это процесс передачи данных по сети между двумя компьютерами или процессами Сокет – конечный пункт передачи данных Для программ сокет – одно из окончаний сетевого соединения Для установления соединения каждая из сетевых программ должна иметь свой собственный сокет
Pic.16
Абстракция сокета Связь между двумя сокетами может быть ориентированной на соединение Связь между дв
Абстракция сокета Связь между двумя сокетами может быть ориентированной на соединение Связь между двумя сокетами может быть не ориентированной на соединение Сокет связан с номером порта
Pic.17
Абстракция сокета
Абстракция сокета
Pic.18
А что же на Java? Сокеты инкапсулированы в экземпляры специальных классов Все низкоуровневое взаимод
А что же на Java? Сокеты инкапсулированы в экземпляры специальных классов Все низкоуровневое взаимодействие скрыто от пользователя Существует семейство классов, обеспечивающих настройку сокетов и работу с ними
Pic.19
Пакет java. net Адресация Установление TCP-соединения Передача/прием дейтаграмм через UDP Обнаружени
Пакет java. net Адресация Установление TCP-соединения Передача/прием дейтаграмм через UDP Обнаружение/идентификация сетевых ресурсов Безопасность: авторизация / права доступа
Pic.20
Адресация IP-адресация Адрес сокета
Адресация IP-адресация Адрес сокета
Pic.21
Методы класса InetAddress public static InetAddress getLocalHost(); создает объект класса для текуще
Методы класса InetAddress public static InetAddress getLocalHost(); создает объект класса для текущего локального узла public static InetAddress getByName(String host); создает объект адреса по имени удаленного узла сети public static InetAddress[] getAllByName(String h); возвращает массив адресов, связанных с узлом сети public byte[] getAddress(); возвращает массив из четырех байт IP-адреса объекта public String getHostName(); определение имени узла данного объекта адреса
Pic.22
Общая схема соединения
Общая схема соединения
Pic.23
Класс Socket Реализует клиентский сокет и его функции Конструкторы Socket() Socket(InetAddress addre
Класс Socket Реализует клиентский сокет и его функции Конструкторы Socket() Socket(InetAddress address, int port) Socket(InetAddress address, int port, InetAddress localAddr, int localPort) Socket(String host, int port) Socket(String host, int port, InetAddress localAddr, int localPort) Методы void close() InetAddress getLocalAddress() InputStream getInputStream() OutputStream getOutputStream() static void setSocketImplFactory(SocketImplFactory fac) И прочие…
Pic.24
Порядок работы с клиентским сокетом Открытие сокета Открытие потока ввода и/или потока вывода для со
Порядок работы с клиентским сокетом Открытие сокета Открытие потока ввода и/или потока вывода для сокета Чтение и запись в потоки согласно установленному протоколу общения с сервером Закрытие потоков ввода-вывода Закрытие сокета
Pic.25
Пример клиента
Пример клиента
Pic.26
Пример клиента
Пример клиента
Pic.27
Класс ServerSocket Реализует серверный сокет и его функции Конструкторы ServerSocket() ServerSocket(
Класс ServerSocket Реализует серверный сокет и его функции Конструкторы ServerSocket() ServerSocket(int port) ServerSocket(int port, int backlog) Методы void close() Socket accept() void bind(SocketAddress endpoint) И прочие…
Pic.28
Создание серверного сокета
Создание серверного сокета
Pic.29
Сервер параллельной обработки запросов Стадия 1 Установление соединения клиент-сервер Стадия 2 Серве
Сервер параллельной обработки запросов Стадия 1 Установление соединения клиент-сервер Стадия 2 Сервер параллельной обработки передает управление дочернему процессу Стадия 3 Если во время обработки запроса поступает запрос от другого клиента, сервер параллельной обработки передает управление новому дочернему процессу
Pic.30
Дейтаграммы Дейтаграмма – независимое, самодостаточное сообщение, посылаемое по сети, чья доставка,
Дейтаграммы Дейтаграмма – независимое, самодостаточное сообщение, посылаемое по сети, чья доставка, время (порядок) доставки и содержимое не гарантируются Могут использоваться как для адресной, так и для широковещательной рассылки
Pic.31
Класс DatagramPacket Экземпляры класса являются прототипами дейтаграмм-сообщений Конструкторы Datagr
Класс DatagramPacket Экземпляры класса являются прототипами дейтаграмм-сообщений Конструкторы DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port) И прочие… Методы byte[] getData() int getLength() int getOffset() SocketAddress getSocketAddress() void setSocketAddress(SocketAddress address) void setData(byte[] buf, int offset, int length) И прочие…
Pic.32
Класс DatagramSocket Экземпляры являются не ориентированными на соединение сокетами Конструкторы Dat
Класс DatagramSocket Экземпляры являются не ориентированными на соединение сокетами Конструкторы DatagramSocket() DatagramSocket(int port, InetAddress laddr) И другие… Методы void bind(SocketAddress addr) void close() void connect(InetAddress address, int port) void send(DatagramPacket p) void receive(DatagramPacket p) И другие…
Pic.33
Передача дейтаграмм
Передача дейтаграмм
Pic.34
Uniform Resource Locator URL – адрес ресурса в Интернет Имя протокола Протокол, используемый для свя
Uniform Resource Locator URL – адрес ресурса в Интернет Имя протокола Протокол, используемый для связи Имя хоста Имя компьютера, на котором расположен ресурс Имя файла Путь к файлу на компьютере Номер порта Номер порта для соединения (необязателен) Ссылка Ссылка на обработчик работы с протоколом (необязательна) Может быть абсолютным и относительным
Pic.35
Прямое чтение из URL
Прямое чтение из URL
Pic.36
Чтение из URL-соединения
Чтение из URL-соединения
Pic.37
Запись в URL-соединение
Запись в URL-соединение
Pic.38
Запись в URL-соединение
Запись в URL-соединение
Pic.39
Спасибо за внимание!
Спасибо за внимание!
Pic.40
Дополнительные источники Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг,
Дополнительные источники Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с. Вязовик, Н. А. Программирование на Java. Курс лекций [Текст] / Н. А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с. Хорстманн, К. Java 2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 992 с. Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с. JavaSE at a Glance [Электронный ресурс]. – Режим доступа: дата доступа: 21. 10. 2011. JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: дата доступа: 21. 10. 2011.


Скачать презентацию

Если вам понравился сайт и размещенные на нем материалы, пожалуйста, не забывайте поделиться этой страничкой в социальных сетях и с друзьями! Спасибо!