Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Програма, що ілюструє механізми використання сокетів

Реферат Програма, що ілюструє механізми використання сокетів





записів не існує. При використанні TCP цей протокол бере на себе розбиття переданих даних на пакети відповідного розміру, відправку їх в мережу і збірку їх на іншій стороні. Додаток знає тільки, що воно відправляє на рівень TCP певне число байтів і інша сторона отримує ці байти. У свою чергу TCP ефективно розбиває ці дані на пакети відповідного розміру, отримує ці пакети на іншій стороні, виділяє з них дані і об'єднує їх разом.

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

Якщо дані повинні гарантовано доставлятися іншій стороні або розмір їх великий, потокові сокети переважніше дейтаграмним. Приміром, сервер електронної пошти є додатком, що повинно приносити вміст у правильному порядку, без дублювання і пропусків.

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

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

Використання дейтаграмним сокетів вимагає, щоб передачею даних від клієнта до сервера займався User Datagram Protocol (UDP). У цьому протоколі на розмір повідомлень накладаються деякі обмеження, і на відміну від потокових сокетів, які вміють надійно відправляти повідомлення сервера-адресату, дейтаграмному сокети надійність не забезпечують. Якщо дані загубилися десь в мережі, сервер не повідомить про помилки.

Крім двох розглянутих типів існує також узагальнена форма сокетів, яку називають необроблюваних або сирими. Головна мета використання сирих сокетів полягає в обході механізму, за допомогою якого комп'ютер обробляє TCP/IP. Це досягається забезпеченням спеціальної реалізації стека TCP/IP, замісної механізм, наданий стеком TCP/IP в ядрі - пакет безпосередньо передається додатку і, отже, обробляється набагато ефективніше, ніж при проході через головний стекпротоколів клієнта.

За визначенням, сирої сокет - це сокет, який приймає пакети, обходить рівні TCP і UDP в стеку TCP/IP і відправляє їх безпосередньо програмі.

При використанні таких сокетів пакет не проходить через фільтр TCP/IP, тобто ніяк не обробляється, і постає у своїй сирої формі. У такому разі обов'язок правильно обробити всі дані і виконати такі дії, як видалення заголовків і розбір полів, лягає на отримує додаток - все одно, що включити в додаток невеликий стек TCP/IP.

Сирі сокети головним чином використовуються при розробці спеціалізованих низькорівневих протокольних додатків. Наприклад, такі різноманітні утиліти TCP/IP, як trace route, ping або arp, використовують сирі сокети.

Сокети також бувають блокуючими і Неблокуючий raquo ;. Блокуючі сокети змушують ваше додаток очікувати доти, поки дані стануть доступні, у той час як Неблокуючий сокети цього не роблять. Хоча всі сокети двунаправлен, все ж існує різниця між сокетами клієнта і сервера. Серверний сокет прослуховує певний порт, а клієнтський підключається до сервера. Після того, як було встановлено з'єднання починається обмін даними.


Рис.1 Модель Клієнт-сервер



2. Блок-схема роботи програми


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

Користувач починає роботу з програмою послідовно запустивши два файли server1.py і client1.py raquo ;. Ця дія представлено блоком Запустити програму

У вікні клієнта користувачеві пропонується ввести ключове слово пошуку (прізвище) .Данная дію виглядає як блок Введіть прізвище .

Після цього програма здійснює перевірку введених даних на наявність їх в базі. Цей блок умови представлений як Чи знайдено результат? Raquo;.

Якщо результат не знайдений ( Ні ), то програма повідомляє про відсутність даних в базі і користувач може повторити спробу.

Якщо результат знайдений ( Так ), то програма виводить його у вікні клієнта. Користувач може продовжити пошук. На блок-схемі це умова виглядає як Продовжи...


Назад | сторінка 2 з 4 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Основні поняття (сайт, IP-адресу, порт, сокет, сервер, клієнт)
  • Реферат на тему: Комп'ютерні дані: типи даних, обробка та управління
  • Реферат на тему: Архітектура Клієнт / сервер. Поняття виділеного сервера. Види серверів
  • Реферат на тему: Забезпечення законних інтересів осіб, які використовують персональні дані у ...
  • Реферат на тему: Розробка бази даних обліку перепусток учнів і програми-клієнта до неї