🗊Презентация Занятие 14. Основы создания сетевых приложений на Java

Нажмите для полного просмотра!
Занятие 14. Основы создания сетевых приложений на Java, слайд №1Занятие 14. Основы создания сетевых приложений на Java, слайд №2Занятие 14. Основы создания сетевых приложений на Java, слайд №3Занятие 14. Основы создания сетевых приложений на Java, слайд №4Занятие 14. Основы создания сетевых приложений на Java, слайд №5Занятие 14. Основы создания сетевых приложений на Java, слайд №6Занятие 14. Основы создания сетевых приложений на Java, слайд №7Занятие 14. Основы создания сетевых приложений на Java, слайд №8Занятие 14. Основы создания сетевых приложений на Java, слайд №9Занятие 14. Основы создания сетевых приложений на Java, слайд №10Занятие 14. Основы создания сетевых приложений на Java, слайд №11Занятие 14. Основы создания сетевых приложений на Java, слайд №12Занятие 14. Основы создания сетевых приложений на Java, слайд №13Занятие 14. Основы создания сетевых приложений на Java, слайд №14Занятие 14. Основы создания сетевых приложений на Java, слайд №15Занятие 14. Основы создания сетевых приложений на Java, слайд №16Занятие 14. Основы создания сетевых приложений на Java, слайд №17Занятие 14. Основы создания сетевых приложений на Java, слайд №18Занятие 14. Основы создания сетевых приложений на Java, слайд №19Занятие 14. Основы создания сетевых приложений на Java, слайд №20Занятие 14. Основы создания сетевых приложений на Java, слайд №21Занятие 14. Основы создания сетевых приложений на Java, слайд №22Занятие 14. Основы создания сетевых приложений на Java, слайд №23Занятие 14. Основы создания сетевых приложений на Java, слайд №24Занятие 14. Основы создания сетевых приложений на Java, слайд №25Занятие 14. Основы создания сетевых приложений на Java, слайд №26Занятие 14. Основы создания сетевых приложений на Java, слайд №27Занятие 14. Основы создания сетевых приложений на Java, слайд №28Занятие 14. Основы создания сетевых приложений на Java, слайд №29Занятие 14. Основы создания сетевых приложений на Java, слайд №30Занятие 14. Основы создания сетевых приложений на Java, слайд №31Занятие 14. Основы создания сетевых приложений на Java, слайд №32Занятие 14. Основы создания сетевых приложений на Java, слайд №33Занятие 14. Основы создания сетевых приложений на Java, слайд №34Занятие 14. Основы создания сетевых приложений на Java, слайд №35Занятие 14. Основы создания сетевых приложений на Java, слайд №36Занятие 14. Основы создания сетевых приложений на Java, слайд №37

Содержание

Вы можете ознакомиться и скачать презентацию на тему Занятие 14. Основы создания сетевых приложений на Java. Доклад-сообщение содержит 37 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Основы создания сетевых приложений на Java
Описание слайда:
Основы создания сетевых приложений на Java

Слайд 2





План лекции
Протоколы транспортного уровня
Понятие сокета
Пакет java.net
Классы Socket и ServerSocket
Классы DatagramPacket и DatagramSocket
Класс URL
Описание слайда:
План лекции Протоколы транспортного уровня Понятие сокета Пакет java.net Классы Socket и ServerSocket Классы DatagramPacket и DatagramSocket Класс URL

Слайд 3





Модель OSI
Прикладной уровень
Уровень представления
Сеансовый уровень
Транспортный уровень
Сетевой уровень
Уровень соединения
Физический уровень
Описание слайда:
Модель OSI Прикладной уровень Уровень представления Сеансовый уровень Транспортный уровень Сетевой уровень Уровень соединения Физический уровень

Слайд 4





Модель OSI
Описание слайда:
Модель OSI

Слайд 5





Transmission Control Protocol
TCP – основанный 
на соединениях 
протокол, обеспечивающий 
надежную передачу 
данных между двумя 
компьютерами 
с сохранением порядка 
данных
Используется в: HTTP, FTP, Telnet и др.
Описание слайда:
Transmission Control Protocol TCP – основанный на соединениях протокол, обеспечивающий надежную передачу данных между двумя компьютерами с сохранением порядка данных Используется в: HTTP, FTP, Telnet и др.

Слайд 6





User Datagram Protocol
UDP – не основанный на соединениях протокол, реализующий пересылку независимых пакетов 
данных, называемых 
дейтаграммами, 
от одного компьютера 
к другому 
без гарантии 
их доставки
Описание слайда:
User Datagram Protocol UDP – не основанный на соединениях протокол, реализующий пересылку независимых пакетов данных, называемых дейтаграммами, от одного компьютера к другому без гарантии их доставки

Слайд 7





Модель «Клиент-сервер»
Порядок работы
Каждая из сторон виртуального соединения называется «сокет» (socket)
Процесс-сервер инициализируется при запуске и далее бездействует, ожидая поступления запроса от клиента
Процесс-клиент посылает запрос на установление соединения с сервером, требуя выполнить для него определенную функцию
Виды приложений-серверов
Сервер последовательной обработки запросов
Сервер параллельной обработки запросов
Описание слайда:
Модель «Клиент-сервер» Порядок работы Каждая из сторон виртуального соединения называется «сокет» (socket) Процесс-сервер инициализируется при запуске и далее бездействует, ожидая поступления запроса от клиента Процесс-клиент посылает запрос на установление соединения с сервером, требуя выполнить для него определенную функцию Виды приложений-серверов Сервер последовательной обработки запросов Сервер параллельной обработки запросов

Слайд 8





Понятие порта
Компьютер (обычно) имеет только одно физическое соединение с сетью
Соединение описывается, например, IP-адресом (32 или 128 бит на нынешний момент)
Как различать информацию для различных приложений?
Описание слайда:
Понятие порта Компьютер (обычно) имеет только одно физическое соединение с сетью Соединение описывается, например, IP-адресом (32 или 128 бит на нынешний момент) Как различать информацию для различных приложений?

Слайд 9





Понятие порта
Сокет привязывается к порту
Порт описывается 16-битным числом
Порты 0-1023 зарезервированы
Описание слайда:
Понятие порта Сокет привязывается к порту Порт описывается 16-битным числом Порты 0-1023 зарезервированы

Слайд 10





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

Слайд 11





Связь с файловой системой
TCP/IP в рамках UNIX
Интерфейс сокетов – через системные вызовы UNIX
Системные вызовы ввода-вывода UNIX выглядят как последовательный цикл:
открыть
считать/записать
закрыть
Нет различий между файлами и внешними устройствами
Описание слайда:
Связь с файловой системой TCP/IP в рамках UNIX Интерфейс сокетов – через системные вызовы UNIX Системные вызовы ввода-вывода UNIX выглядят как последовательный цикл: открыть считать/записать закрыть Нет различий между файлами и внешними устройствами

Слайд 12





Проблемы сетевого ввода/вывода
Модель клиент-сервер не соответствует системе ввода-вывода UNIX
Нет пассивных операций ввода-вывода
Не умеют устанавливать соединения
Используется фиксированный адрес файла
Соединение с файлом доступно на протяжении всего цикла запись-считывание 
Для не ориентированных на соединение протоколов фиксированный адрес – проблема: при передаче дейтаграммы адрес есть, а соединения нет
Описание слайда:
Проблемы сетевого ввода/вывода Модель клиент-сервер не соответствует системе ввода-вывода UNIX Нет пассивных операций ввода-вывода Не умеют устанавливать соединения Используется фиксированный адрес файла Соединение с файлом доступно на протяжении всего цикла запись-считывание Для не ориентированных на соединение протоколов фиксированный адрес – проблема: при передаче дейтаграммы адрес есть, а соединения нет

Слайд 13





Абстракция сокета
Сетевое соединение –  это процесс передачи данных по сети между двумя компьютерами или процессами
Сокет – конечный пункт передачи данных
Для программ сокет – одно из окончаний сетевого соединения 
Для установления соединения каждая из сетевых программ должна иметь свой собственный сокет
Описание слайда:
Абстракция сокета Сетевое соединение – это процесс передачи данных по сети между двумя компьютерами или процессами Сокет – конечный пункт передачи данных Для программ сокет – одно из окончаний сетевого соединения Для установления соединения каждая из сетевых программ должна иметь свой собственный сокет

Слайд 14





Абстракция сокета
Связь между двумя сокетами может быть ориентированной на соединение
Связь между двумя сокетами может быть не ориентированной на соединение
Сокет связан с номером порта
Описание слайда:
Абстракция сокета Связь между двумя сокетами может быть ориентированной на соединение Связь между двумя сокетами может быть не ориентированной на соединение Сокет связан с номером порта

Слайд 15





Абстракция сокета
Описание слайда:
Абстракция сокета

Слайд 16





А что же на Java?
Сокеты инкапсулированы в экземпляры специальных классов
Все низкоуровневое взаимодействие скрыто от пользователя
Существует семейство классов, обеспечивающих настройку сокетов и работу с ними
Описание слайда:
А что же на Java? Сокеты инкапсулированы в экземпляры специальных классов Все низкоуровневое взаимодействие скрыто от пользователя Существует семейство классов, обеспечивающих настройку сокетов и работу с ними

Слайд 17





Пакет java.net
Адресация
Установление TCP-соединения
Передача/прием дейтаграмм через UDP
Обнаружение/идентификация сетевых ресурсов
Безопасность: авторизация / права доступа
Описание слайда:
Пакет java.net Адресация Установление TCP-соединения Передача/прием дейтаграмм через UDP Обнаружение/идентификация сетевых ресурсов Безопасность: авторизация / права доступа

Слайд 18





Адресация
IP-адресация
Адрес сокета
Описание слайда:
Адресация IP-адресация Адрес сокета

Слайд 19





Общая схема соединения
Описание слайда:
Общая схема соединения

Слайд 20





Класс 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) 
И прочие…
Описание слайда:
Класс 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) И прочие…

Слайд 21





Порядок работы 
с клиентским сокетом
Открытие сокета
Открытие потока ввода и/или потока вывода для сокета
Чтение и запись в потоки согласно установленному протоколу общения с сервером
Закрытие потоков ввода-вывода
Закрытие сокета
Описание слайда:
Порядок работы с клиентским сокетом Открытие сокета Открытие потока ввода и/или потока вывода для сокета Чтение и запись в потоки согласно установленному протоколу общения с сервером Закрытие потоков ввода-вывода Закрытие сокета

Слайд 22





Пример клиента
Описание слайда:
Пример клиента

Слайд 23





Пример клиента
Описание слайда:
Пример клиента

Слайд 24





Класс ServerSocket
Реализует серверный сокет и его функции
Конструкторы
ServerSocket()
ServerSocket(int port) 
ServerSocket(int port, int backlog) 
Методы
void close() 
Socket accept()  
void bind(SocketAddress endpoint) 
И прочие…
Описание слайда:
Класс ServerSocket Реализует серверный сокет и его функции Конструкторы ServerSocket() ServerSocket(int port) ServerSocket(int port, int backlog) Методы void close() Socket accept() void bind(SocketAddress endpoint) И прочие…

Слайд 25





Создание серверного сокета
Описание слайда:
Создание серверного сокета

Слайд 26





Сервер параллельной обработки запросов
Стадия 1
Установление соединения клиент-сервер
Стадия 2
Сервер параллельной обработки передает управление дочернему процессу
Стадия 3
Если во время обработки запроса поступает запрос от другого клиента, сервер параллельной обработки передает управление новому дочернему процессу
Описание слайда:
Сервер параллельной обработки запросов Стадия 1 Установление соединения клиент-сервер Стадия 2 Сервер параллельной обработки передает управление дочернему процессу Стадия 3 Если во время обработки запроса поступает запрос от другого клиента, сервер параллельной обработки передает управление новому дочернему процессу

Слайд 27





Дейтаграммы

Дейтаграмма – независимое, самодостаточное сообщение, посылаемое по сети, чья доставка, время (порядок) доставки и содержимое не гарантируются
Могут использоваться как для адресной, так и для широковещательной рассылки
Описание слайда:
Дейтаграммы Дейтаграмма – независимое, самодостаточное сообщение, посылаемое по сети, чья доставка, время (порядок) доставки и содержимое не гарантируются Могут использоваться как для адресной, так и для широковещательной рассылки

Слайд 28





Класс 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) 
И прочие…
Описание слайда:
Класс 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) И прочие…

Слайд 29





Класс 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) 
И другие…
Описание слайда:
Класс 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) И другие…

Слайд 30





Передача дейтаграмм
Описание слайда:
Передача дейтаграмм

Слайд 31





Uniform Resource Locator
URL – адрес ресурса в Интернет
Имя протокола
Протокол, используемый для связи
Имя хоста
Имя компьютера, на котором 
расположен ресурс
Имя файла
Путь к файлу на компьютере
Номер порта
Номер порта для соединения (необязателен)
Ссылка
Ссылка на именованный якорь (необязательна)
Может быть абсолютным и относительным
Описание слайда:
Uniform Resource Locator URL – адрес ресурса в Интернет Имя протокола Протокол, используемый для связи Имя хоста Имя компьютера, на котором расположен ресурс Имя файла Путь к файлу на компьютере Номер порта Номер порта для соединения (необязателен) Ссылка Ссылка на именованный якорь (необязательна) Может быть абсолютным и относительным

Слайд 32





Прямое чтение из URL
Описание слайда:
Прямое чтение из URL

Слайд 33





Чтение из 
URL-соединения
Описание слайда:
Чтение из URL-соединения

Слайд 34





Запись в 
URL-соединение
Описание слайда:
Запись в URL-соединение

Слайд 35





Запись в 
URL-соединение
Описание слайда:
Запись в URL-соединение

Слайд 36





Спасибо за внимание!
Описание слайда:
Спасибо за внимание!

Слайд 37





Дополнительные источники
Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с.
Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с.
Хорстманн, К. Java 2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 992 с.
Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с.
JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 21.10.2011.
JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 21.10.2011.
Описание слайда:
Дополнительные источники Арнолд, К. Язык программирования Java [Текст] / Кен Арнолд, Джеймс Гослинг, Дэвид Холмс. – М. : Издательский дом «Вильямс», 2001. – 624 с. Вязовик, Н.А. Программирование на Java. Курс лекций [Текст] / Н.А. Вязовик. – М. : Интернет-университет информационных технологий, 2003. – 592 с. Хорстманн, К. Java 2. Библиотека профессионала. Том 2. Тонкости программирования [Текст] / Кей Хорстманн, Гари Корнелл. – М. : Издательский дом «Вильямс», 2010 г. – 992 с. Эккель, Б. Философия Java [Текст] / Брюс Эккель. – СПб. : Питер, 2011. – 640 с. JavaSE at a Glance [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/overview/index.html, дата доступа: 21.10.2011. JavaSE APIs & Documentation [Электронный ресурс]. – Режим доступа: http://www.oracle.com/technetwork/java/javase/documentation/api-jsp-136079.html, дата доступа: 21.10.2011.



Похожие презентации
Mypresentation.ru
Загрузить презентацию