Разделы презентаций


Розробка мережевих програм

Содержание

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaОснови роботи в мережіОгляд сокетівКлієнт-серверЗарезервовані сокетиПриклад взаємозвязаних процедур клієнтаProxy-сервериАдресація InternetСлужба доменних імен (DNS)Мережеві класи та інтерфейсиКлас InetAddressВиробничі методиСокети TCP / IP клієнтівКонструктори для створення soket-Об'єктів Використання URLКлас URLConnectionСокети

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

Слайд 1Розробка мережевих програм
Лекція 10.1
доц. кафедри Інформатики Сінельнікова Т.Ф.

Розробка мережевих програмЛекція 10.1 доц. кафедри Інформатики Сінельнікова Т.Ф.

Слайд 2ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Основи роботи в мережі
Огляд сокетів
Клієнт-сервер
Зарезервовані сокети
Приклад взаємозвязаних

процедур клієнта
Proxy-сервери
Адресація Internet
Служба доменних імен (DNS)
Мережеві класи та інтерфейси
Клас InetAddress
Виробничі

методи
Сокети TCP / IP клієнтів
Конструктори для створення soket-Об'єктів
Використання URL
Клас URLConnection
Сокети TCP / IP серверів
Конструктори класу ServerSocket
Дейтаграми
Клас DatagramPacket
Дейтаграмний сервер і клієнт
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaОснови роботи в мережіОгляд сокетівКлієнт-серверЗарезервовані сокетиПриклад взаємозвязаних процедур клієнтаProxy-сервериАдресація InternetСлужба доменних імен (DNS)Мережеві класи

Слайд 3ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Основи роботи в мережі
Кен Томпсон (Ken Thompson)

І Денніс Рітчі (Dennis Ritchie) Розробили операційну систему UNIX спільно

з мовою С в Bell Telephone Laboratories,Murray Hill,New Jersey, В 1969 р.
Протягом багатьох років розвиток UNIX виконувалося в Лабораторіях Белла, кількох університетах і науково-дослідних установах, що мали PDP-Машини фірми DEC, Для роботи на яких UNIX і була розроблена.
У 1978 р. Біл Джой (Bill Joy) Вів проект в каліфорнійському Університеті з метою додавання низки нових властивостей до UNIX, Таких як віртуальна пам'ять і повноекранні можливості дисплея.
На початок 1984 р., як раз, коли Білл покинув університет і заснував фірму Sun Microsystems, Він випустив систему 4.2BSD, Відому як Berkeley UNIX.
Система 4.2BSD була випущена з швидкою файлової системою, надійними сигналами, межпроцессорной зв'язком і, що найбільш важливо, що працює в мережі.
Berkeley-Реалізація протоколів TCP / IP залишається вихідним еталоном для зв'язку в Internet.
Парадигма сокета для межпроцессорной і мережевого зв'язку також була широко прийнята поза Berkeley.
Навіть Windows іMacintosh в кінці 80-х почали говорити " Berkeley-Сокети ".
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaОснови роботи в мережіКен Томпсон (Ken Thompson) І Денніс Рітчі (Dennis Ritchie) Розробили операційну

Слайд 4ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Огляд сокетів
Мережевий сокет (network socket) Дуже схожий

на електричний з'єднувач (роз'єм).

Різні мережеві з'єднувачі забезпечують стандартні шляхи

поставки корисного навантаження.

Все, що розуміє стандартний протокол, може "підключатися" до сокету і вступати у зв'язок.

Для електричних з'єднувачів не має значення, підключаєте ви лампочку або тостер. До тих пір поки вони забезпечують подачу електрики 50 Гц, 220 В, пристрої будуть працювати.

Як створюється ваш рахунок за електрику.

Існує вимірювач десь між вашим будинком та іншою частиною мережі. За кожен кіловат потужності, яка проходить через цей вимірювач, вам приходить рахунок. Рахунок надходить в ваш "адресу". Хоча електрику "тече" вільно по силової мережі, всі роз'єми у вашому будинку мають специфічний адресу.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaОгляд сокетівМережевий сокет (network socket) Дуже схожий на електричний з'єднувач (роз'єм). Різні мережеві з'єднувачі

Слайд 5ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Огляд сокетів
Та ж сама ідея застосовується і

до мережевих роз'ємів - сокетів, за винятком того, що ми

говоримо про протоколи TCP / IP і IP-Адреси, а не про електронах і вуличних адресах.

IP (Internet Protocol, Протокол Інтернету) - це протокол маршрутизації нижнього рівня, який розділяє дані на невеликі пакети і посилає їх за різними адресами через мережу, не гарантує доставку відправлених пакетів пункту призначення.

TCP (Transmission Control Protocol, Протокол управління передачею) - це протокол більш високого рівня, який вміє міцно з'єднувати разом пакети, сортуючи і ретранслюючи їх у міру необхідності для надійної передачі даних.

Третій протокол - UDP (User Datagram Protocol, Дейтаграмний протокол користувача) - слід за TCP і може застосовуватися безпосередньо для підтримки швидкої, без встановлення з'єднання, але, правда, ненадійною транспортування пакетів.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaОгляд сокетівТа ж сама ідея застосовується і до мережевих роз'ємів - сокетів, за винятком

Слайд 6ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Клієнт-сервер
Сервер - Це все, що має деякий

розділяється (колективно використовується) ресурс.

Існують обчислювальні сервери, які забезпечують обчислювальну

потужність; сервери друку, які керують сукупністю принтерів; дискові сервери, які надають працює в мережі дисковий простір, і Web-Сервери, які зберігають Web-Сторінки.

Клієнт - просто будь-який інший об'єкт, який хоче отримати доступ до специфічного серверу.

Сервер - це постійно доступний ресурс, у той час як клієнт може "відключитися" після того, як він був обслужений.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКлієнт-серверСервер - Це все, що має деякий розділяється (колективно використовується) ресурс. Існують обчислювальні сервери,

Слайд 7ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Клієнт-сервер

В Berkeley-Сокетах поняття сокета дозволяє окремим комп'ютера

обслуговувати багато різних клієнтів відразу, так само, як і обслуговувати

безліч різних типів інформації.

Для управління таким обслуговуванням вводиться поняття порту, який є пронумерованим сокетом на конкретній машині.

Кажуть, що процес сервера "слухає" порт, поки клієнт не з'єднається з ним.
Серверу дозволяють прийняти багато клієнтів, приєднаних до одного й того ж номеру порту, хоча кожен сеанс унікальний.

Щоб керувати множинними підключеннями клієнта, процес сервера повинен бути багатопотоковий або мати деякі інші засоби мультиплексування одночасного введення / виведення.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКлієнт-серверВ Berkeley-Сокетах поняття сокета дозволяє окремим комп'ютера обслуговувати багато різних клієнтів відразу, так само,

Слайд 8ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Зарезервовані сокети
Після з'єднання протокол високого рівня гарантує

жорстку залежність з'єднання від того порту, який ви використовуєте. TCP

/ IP резервує 1024 нижніх порту для певних протоколів.

Порт з номером
21 - для протоколу FTP,
23 - для протоколу Telnet,
25 - для протоколу електронної пошти (e-mail),
79 - для протоколу Finger,
80 - для протоколу HTTP,
119 - для протоколу телеконференцій і т. д.

Наприклад, HTTP (HyperText Transfer Protocol, Протокол передачі гіпертексту) - це протокол, який Web-Браузери і сервери використовують для пересилання сторінок гіпертексту і зображень.

Коли клієнт запитує файл з HTTP-Сервера (дія, відоме як "Стук" (Hit)), він просто друкує ім'я файлу в спеціальному форматі до визначених порту і зчитує вміст файлу.

Сервер відповідає також кодовою числом стану, щоб повідомити клієнта, чи може запит бути виконаний і чому.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaЗарезервовані сокетиПісля з'єднання протокол високого рівня гарантує жорстку залежність з'єднання від того порту, який

Слайд 9ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Приклад взаємозвязаних процедур клієнта

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaПриклад взаємозвязаних процедур клієнта

Слайд 10ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Proxy-сервери
Proxy-Сервер - Це спеціальна

службова мережева програма, зазвичай працює на комп'ютері провайдера, призначена для

кількох цілей: прискорення роботи клієнта (наприклад, зчитування HTML-Сторінок), зашиті клієнта від вірусів, обмеження доступу клієнта до певних протоколів, серверів і т. п.
Proxy-Сервер пояснює клієнтську сторону протоколу іншого сервера.
Це потрібно, коли клієнти мають деякі обмеження на те, з якими серверами вони можуть з'єднуватися.
Таким чином, клієнт з'єднується з proxy-Сервером, який не має таких обмежень, а той, у свою чергу, здійснює зв'язок для клієнта.
Proxy сервер має додаткові можливості фільтрувати деякі запити або кешувати результати цих запитів для майбутнього використання.
Кешуючий proxy HTTP-Сервер може допомогти зменшити вимоги до смуги пропускання на з'єднанні локальної мережі з Internet.
Коли до популярного Web-Сайту звертаються сотні користувачів, proxy-Сервер може один раз отримати вміст популярних сторінок Web-Сервера, заощаджуючи дорогі міжмережеві передачі і забезпечуючи клієнтам більш швидкий доступ до цих сторінок.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaProxy-сервери   Proxy-Сервер - Це спеціальна службова мережева програма, зазвичай працює на комп'ютері

Слайд 11ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Адресація Internet
Будь-який комп'ютер в Internet має адресу.

Адреса Internet - Це число, яке унікально ідентифікує кожен комп'ютер

в мережі.

ВIP-Адресах 32 біта, і ми використовуємо їх як послідовність з чотирьох чисел між 0 і 255, розділених крапками.

Перші кілька біт адреси представляють клас мережі (класи позначаються буквами А, В, С, D або Е).

Остання - ідентифікує індивідуальний комп'ютер. (В одиночній мережі класу С допустимо до 256 комп'ютерів.)

Ця схема дозволяє існувати на мережах класу С приблизно півмільярда пристроїв.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaАдресація InternetБудь-який комп'ютер в Internet має адресу. Адреса Internet - Це число, яке унікально

Слайд 12ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Служба доменних імен (DNS)
Мережа Internet не була

б дуже зручним місцем для навігації, якщо б кожен повинен

був використовувати числову адресацію.

Важко, наприклад, уявити рекламний адресу у вигляді "http:/ / 192.9.9.1 / ".

Для паралельної ієрархії імен існує інший - символьний спосіб адресації.

У мережній адресації широко використовується служба доменних імен (DNS,Domain Naming Service).

Подібно до того, як чотири числа IР-адреси описують мережеву ієрархію зліва направо, символьний Internet-Адресу, званий доменним адресою, описує розміщення машини в просторі імен справа наліво.

Наприклад, адреса www.starwave.com знаходиться в домені com (Зарезервованому для американських комерційних сайтів), сайт називається starwave (По імені компанії), a www - Ім'я специфічного комп'ютера, який є Web-Сервером starwave.

www відповідає самому правому номеру в еквівалентному IP-Адресі.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaСлужба доменних імен (DNS)Мережа Internet не була б дуже зручним місцем для навігації, якщо

Слайд 13ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Мережеві класи та інтерфейси
Java підтримує протоколи TCP

/ IP як шляхом розширення вже встановленого інтерфейсу поточного введення

/ виводу, так і додаючи властивості, необхідні для побудови мережевих об'єктів вводу / виводу. Java підтримує два сімейства протоколів - TCP іUDP.

ТСР-протоколи використовуються для надійного потокового введення / виводу через мережу.

UDP-Протоколи підтримують більш просту і, отже, більш швидку двоточкову модель, орієнтовану на дейтаграми.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaМережеві класи та інтерфейсиJava підтримує протоколи TCP / IP як шляхом розширення вже встановленого

Слайд 14ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Клас InetAddress

Клас InetAddress використовується, щоб інкапсулювати як

числовий IP-Адресу, так і доменну адресу.

Ви взаємодієте з цим

класом, використовуючи доменну адресу хост-комп'ютера, який більш зручний і зрозумілий, ніж його числовий еквівалент.

Цей числовий адреса схована всередині класу InetAddress.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКлас InetAddressКлас InetAddress використовується, щоб інкапсулювати як числовий IP-Адресу, так і доменну адресу. Ви

Слайд 15ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Виробничі методи
Клас InetAddress не має видимих ​​конструкторів.



Для створення InetAddress об'єкта потрібно використовувати один з доступних виробничих

методів.

Виробничі методи (factory methods) - Просто угода, за допомогою якого статичні методи в класі повертають примірник даного класу.

Це зроблено замість перевантаження конструктора різними списками параметрів, коли наявність унікальних імен методів призводить до більш ясним результатами.

Для створення екземплярів типу InetAddress можна використовувати три методи
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВиробничі методиКлас InetAddress не має видимих ​​конструкторів. Для створення InetAddress об'єкта потрібно використовувати один

Слайд 16ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Виробничі методи
static InetAddress getLocalHost () throws UnknownHostException
static

InetAddress getByName (String hostName) throws UnknownHostException
static InetAddress [] getAllByName (String

hostName) throws UnknownHostException

Метод getLocalHost про просто повертає об'єкт InetAddress, Який представляє локальний хост-комп'ютер.

Метод getByName () Повертає об'єкт типу (класу) InetAddress для комп'ютера, ім'я якого передається йому в параметрі hostName.

Якщо ці методи не здатні розпізнати ім'я комп'ютера, вони викидають виключення типу UnknownHostException.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВиробничі методиstatic InetAddress getLocalHost () throws UnknownHostExceptionstatic InetAddress getByName (String hostName) throws UnknownHostExceptionstatic InetAddress

Слайд 17ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Сокети TCP / IP клієнтів
TCP / IP

сокети використовуються для того, щоб здійснити надійні, двонаправлені, постійні, двоточкові

і потокові з'єднання між хост-комп'ютерами в Internet.

Такі сокети можна використовувати для підключення системи введення / виводу Java до інших програм, які можуть постійно перебувати на локальній машині або на будь-який інший машині в Internet.

Аплети можуть встановлювати сокет-з'єднання тільки з хост-машиною, з якою аплет був завантажений.

В Java є два види ТСР-сокетів: один - для серверів, а інший - для клієнтів.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaСокети TCP / IP клієнтівTCP / IP сокети використовуються для того, щоб здійснити надійні,

Слайд 18ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Сокети TCP / IP клієнтів
Клас serverSocket розроблений

так, щоб бути "слухачем", який перед виконанням будь-якої операції очікує

з'єднання з клієнтами.

Клас Socket розроблений так, щоб з'єднуватися з серверними сокетами і ініціалізувати протокольні обміни.

Створення socket-Об'єкта неявно встановлює з'єднання між клієнтом і сервером.

Немає жодних методів або конструкторів, які явно демонструють подробиці установки цього з'єднання.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaСокети TCP / IP клієнтівКлас serverSocket розроблений так, щоб бути

Слайд 19ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Конструктори для створення soket-Об'єктів

ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКонструктори для створення soket-Об'єктів

Слайд 20ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua

Використання URL
Web-Протоколи - Це вільна (не пов'язана)

сукупність протоколів високого рівня і файлових форматів, об'єднана в Web-Браузері

(програмі навігації по мережі).

Один з найбільш важливих аспектів цієї сукупності полягає в тому, що Тім Бернерс-Лі (Tim Bemers-Lee) Винайшов масштабований спосіб розміщення всіх ресурсів мережі.

Можливість надійно іменувати все що завгодно і де завгодно, стає дуже потужною парадигмою (загальним принципом). Даний принцип втілений через універсальний локатор ресурсів (URL,Uniform Resource Locator).

URL забезпечує розумну, зрозумілу форму унікальної ідентифікації адресної інформації в Internet-Мережах.

Усередині мережевої бібліотеки класів java.net є клас url, Який забезпечує простий і короткий API-інтерфейс для доступу до Internet-Інформації з використанням URL-Адрес.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaВикористання URLWeb-Протоколи - Це вільна (не пов'язана) сукупність протоколів високого рівня і файлових форматів,

Слайд 21ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
Клас URLConnection
URLConnection - Клас загального призначення для

доступу до атрибутів віддаленого ресурсу.

Виконавши з'єднання з віддаленим сервером,

можна використовувати URLConnection для перегляду властивості віддаленого об'єкта перед фактичної його транспортуванням в локальну програму.

Ці атрибути визначаються специфікацією HTTP-Протоколу і, як такі, мають сенс тільки для URL-Об'єктів, які використовують даний протокол.
ХНУРЕ, Кафедра Інформатикиe-mail: informatika@kture.kharkov.uaКлас URLConnectionURLConnection - Клас загального призначення для доступу до атрибутів віддаленого ресурсу. Виконавши з'єднання

Слайд 22ХНУРЕ, Кафедра Інформатики
e-mail: informatika@kture.kharkov.ua
/ / Демонструє URLConnection.
import java.net. *;

import java.io. *; import java.util.Date;
class UCDemo {public static void main

(String args []) throws Exception {.
int з ;
URL hp = new URL ("http://www.starwave.com/people/naughton/");
URLConnection hpCon = hp.openConnection ();
System.out.println ("Дата: "+ New Date (hpCon.getDate ()));
System.out.println ("Тип вмісту: "+ HpCon.getContentType ());
System.out.println ("Термін зберігання: "+ HpCon.getExpirationO);
System.out.println ("Останнє зміна: "+
new Date (hpCon.getLastModifiedO));
int len ​​= hpCon.getContentLength ();
System.out.println ("Content-Length:" + len); if (len> 0)
{
System.out.println ("=== Content ===");
InputStream input = hpCon.getInputStream ();
int i = len;
while (((c = input.read ())! = -1) && (- i> 0)) (System.out.print ((char) c);
}
input.close ();} else (
System.out.println ("Немає вмісту");}
}
}

Дата: Fri Jan 29 16:32:41 CST 1999
Тип вмісту: text/html
Термін зберігання: Про
Остання зміна: Wed Jan 20 18:37:54 CST 1999
Content-Length: 275
== - Content ===

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика