Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемАльбина Трошкина
1 Работа с сетью Java Advanced
2 2Georgiy KorneevJava Advanced / Работа с сетью Содержание Введение Адреса TCP-сокеты UDP-сокеты URI и URL Соединения Заключение
3 Введение Часть 1
4 4Georgiy KorneevJava Advanced / Работа с сетью Стек протоколов
5 5Georgiy KorneevJava Advanced / Работа с сетью Internet Protocol Идентификация адресата IP-адрес Порт
6 6Georgiy KorneevJava Advanced / Работа с сетью Transmission Control Protocol Двусторонний канал с гарантией доставки
7 7Georgiy KorneevJava Advanced / Работа с сетью User Datagram Protocol Односторонний канал без гарантии доставки
8 Адреса Часть 2
9 9Georgiy KorneevJava Advanced / Работа с сетью Интернет-адрес Представляет пару IP-адрес – доменное имя
10 10Georgiy KorneevJava Advanced / Работа с сетью Получение интернет-адресов Фабричные методы класса InetAddress InetAddress getByName(String) – любой по доменному имени InetAddress[] getAllByName(String) – все по доменному имени InetAddress getByAddress(byte[]) – по IP-адресу InetAddress getByAddress(String, byte[]) – по доменному имени и IP-адресу InetAddress getLocalHost() – адрес текущего компьютера
11 11Georgiy KorneevJava Advanced / Работа с сетью Методы интернет-адресов Работа с DNS String getHostName() – получение доменного имени String getCanonicalHostName() – получение полного доменного имени Работа с IP-адресом byte[] getAddress() – получение IP-адреса String getHostAddress() – получение IP-адреса в текстовой форме Прочие isReachable(int timeout) – проверка достижимости
12 12Georgiy KorneevJava Advanced / Работа с сетью Адрес порта Представляет пару интернет-адрес – порт
13 13Georgiy KorneevJava Advanced / Работа с сетью Создание адресов порта Конструкторы класса InetSocketAddress InetSocketAddress(InetAddress, int port) – по адресу и порту InetSocketAddress(String, int port) – по доменному имени и порту
14 14Georgiy KorneevJava Advanced / Работа с сетью Методы адресов портов Информация об адресе getAddress() – получение интернет-адреса getHostName() – получение имени getPort() – получение порта
15 TCP-сокеты Часть 3
16 16Georgiy KorneevJava Advanced / Работа с сетью TCP-сокеты Применяются для связи по протоколу TCP Образуют два независимых потока данных Классы Socket – представляет TCP-соединение, создает TCP-соединение на стороне пользователя ServerSocket – создает TCP-соединения на стороне сервера
17 17Georgiy KorneevJava Advanced / Работа с сетью Создание соединения на клиенте Конструкторы класса Socket Socket(InetAddress, port) – по интернет-адресу Socket(String host, port) – по доменному имени Socket(InetAddress, port, InetAddress, port) – по заданному локальному адресу и порту Socket() – без установления соединения Методы класса Socket connect(SocketAddress, timeout?) – установить соединение
18 18Georgiy KorneevJava Advanced / Работа с сетью Ввод-вывод Потоки getInputStream() – входящий поток getOutputStream() – исходящий поток Закрытие потоков shutdownInput() – закрытие входящего потока и отбрасывание полученных данных shutdownOutput() – закрытие исходящего потока Проверка потоков isInputShutdown() – входящего потока isOutputShutdown() – исходящего потока
19 19Georgiy KorneevJava Advanced / Работа с сетью Получение информации Об удаленном конце getInetAddress() – интернет адрес getPort() – порт getRemoteSocketAddreess() – адрес порта Об локальном конце getLocalAddress() – интернет адрес getLocalPort() – порт getLocalSocketAddreess() – адрес порта
20 20Georgiy KorneevJava Advanced / Работа с сетью Закрытие соединения Соединение закрывается Методом close() сокета Методом close() потоков сокета При закрытии с удаленной стороны
21 21Georgiy KorneevJava Advanced / Работа с сетью Создание соединений на сервере Конструкторы класса ServerSocket ServerSocket(port) – по порту ServerSocket(port, backlog) – по порту, с указанием размера очереди ServerSocket() – без привязки Методы класса ServerSocket bind(SocketAddress) – по адресу порта bind(SocketAddress, backlog) – по адресу порта, с указанием размера очереди
22 22Georgiy KorneevJava Advanced / Работа с сетью Прием соединений на сервере Методы класса ServerSocket Socket accept() – ждет следующего клиента и создает соединение setSoTimeout() – установка времени ожидания getSoTimeout() – получение времени ожидания close() – окончание ожидание клиентов
23 UDP-сокеты Часть 4
24 24Georgiy KorneevJava Advanced / Работа с сетью UDP-сокеты Применяются для связи по протоколу UDP Классы DatagramPacket – UDP пакет DatagramSocket – UDP-сокет для приема и отсылки пакетов
25 25Georgiy KorneevJava Advanced / Работа с сетью Создание UDP-пакетов Для приема DatagramPacket(byte[], offset?, length) – по буферу Для отправки DatagramPacket(byte[], offset?, length, InetAddress, port) – по интернет-адресу и порту DatagramPacket(byte[], offset?, length, SocketAddress) – по адресу порта
26 26Georgiy KorneevJava Advanced / Работа с сетью Операции с UDP-пакетами Работа с данными getData()/setData() – буфер данных getOffset()/setOffset() – смещение данных getLength()/setLength() – длина данных Работа с адресами getAddress()/setAddress() – интернет-адрес getPort()/setPort() – порт getSocketAddress()/setSocketAddress() – адрес порта
27 27Georgiy KorneevJava Advanced / Работа с сетью Создание UDP-сокета Конструкторы класса DatagramSocket DatagramSocket(port) – по порту DatagramSocket(InetAddress, port) – по порту и адресу DatagramSocket(SocketAddress) – по адресу порта DatagramSocket() – без привязки Методы класса DatagramSocket bind(SocketAddress) – привязывает к адресу
28 28Georgiy KorneevJava Advanced / Работа с сетью Прием и отсылка UDP-пакетов Прием пакета receive(DatagramPacket) – ожидает получения пакета Отсылка пакета send(DatagramPacket) – отсылает пакет
29 URI и URL Часть 4
30 30Georgiy KorneevJava Advanced / Работа с сетью Uniform Resource Identifier Идентифицирует ресурс Общий URI [scheme:]scheme-specific-part[#fragment] Иерархический URI [#fragment] Класс URI
31 31Georgiy KorneevJava Advanced / Работа с сетью Создание URI Конструкторы класса URI URI(String) – по строке URI(scheme, ssp, fragment) – из крупных частей URI(sheme, userInfo, host, port, path, query, fragment) – из мелких частей Фабричные методы класса URI create(String) – по строке Из других объектов file.toURI() – из дескриптора файла url.toURI() – из URL Исключение URISyntaxException
32 32Georgiy KorneevJava Advanced / Работа с сетью Получение частей URI getScheme()scheme getSchemeSpecificPart()sheme-specific pat getUserInfo()userInfo getHost()host getPort()port getPath()path getQuery()query getFragment()fragment
33 33Georgiy KorneevJava Advanced / Работа с сетью Операции над URI Нормализация URI normalize() – нормалиовать URI Откладывание от базового URI URI resolve(URI base) URI resolve(String base) Взятие относительного URI URI relativize(URI base) Сравнение equals(Object)
34 34Georgiy KorneevJava Advanced / Работа с сетью Uniform Resource Locator Указывает местоположение ресурса Подмножество иерархических URI Класс URL
35 35Georgiy KorneevJava Advanced / Работа с сетью Создание URL Конструкторы класса URL URL(String) – по строке URL(protocol, host, file) – из крупных частей URL(protocol, host, port, file, path, query, fragment) – из мелких частей Из других объектов file.toURL() – из дескриптора файла uri.toURL() – из URI Исключение MalformedURLException
36 Соединения Часть 5
37 37Georgiy KorneevJava Advanced / Работа с сетью Соединения Позволяют оперировать с ресурсами, заданными URL
38 38Georgiy KorneevJava Advanced / Работа с сетью Жизненный цикл соединения 1. Открытие соединения url.openConnection() 2. Установка свойств соединения 3. Установка соединения connect() 4. Оперирование с соединением getInputStream()/getOutputStream() 5. Закрытие соединения close()
39 39Georgiy KorneevJava Advanced / Работа с сетью Поддерживаемые протоколы http – HTTP-ресурс https – HTTPS-ресурс ftp – FTP-файл file – локальный файл jar – файл внутри Jar
40 Заключение Часть 6
41 41Georgiy KorneevJava Advanced / Работа с сетью Ссылки Networking Fatures (guide) // Custom Networking (tutorial) // rking/index.html rking/index.html Uniform Resource Locators (URL) // Uniform Resource Identifiers (URI) //
42 42Georgiy KorneevJava Advanced / Работа с сетью Вопросы
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.