- •57 Програмне забезпечення мереж еом. Частина 3. Відання 2. Програмування інтерфейсу «WinSocket»
- •Лабораторна робота № 1. Основні теоретичні положення (інтерфейс windows sockets)
- •1.1. Сокети, датаграми й канали зв'язку
- •1.1.1. Ініціалізація додатка й завершення його роботи
- •1.1.2. Створення й ініціалізація сокету
- •1.3. Індивідуальні завдання на роботу №1
- •Лабораторна робота № 2. Створення каналу зв'язку
- •2.1. Сторона сервера
- •2.3. Передача й прийом даних
- •2.2. Сторона клієнта
- •2.4. Додаток ServerSocket
- •2.5. Додаток ClientSocket
- •2.6. Індивідуальні завдання на роботу №2
- •Лабораторна робота № 3. Датаграммный протокол
- •3.1. Додаток ServerDSocket
- •3.2. Додаток ClientDSocket
- •3.3. Індивідуальні завдання на роботу №3
1.3. Індивідуальні завдання на роботу №1
1.3. 1. Загальне завдання для всіх студентів. Перевірити наявність бібліотеки WSOCK32.DLL і зареєструвати додаток у бібліотеці, визначити опис реалізації інтерфейсу Windows Socket і його поточне состояние.
1.3. 2. Індивідуальне завдання для кожного студента. Підготувати додаток до створення чотирьох сокетів - двох датаграммных сокетів і двох сокетів віртуального каналу, з максимальним розміром датаграммного пакета, рівним числу з останніх трьох цифр номера залікової книжки студента. Формат адреси відповідає прийнятому в Internet.
1.3. 3. Індивідуальне завдання для кожного студента. Задати параметри сокетів, підготувавши структури типу sockaddr. Передбачити можливість роботи: у широкомовному режимі для першого сокету; з певними IP-адресами для другого й третього сокетів, рівними відповідно «192.168.ZZZ.1ХХ» і «192.168.ZZZ.1ХХ+1», де ZZZ - номер подсети, зазначений викладачем, ХХ - останні дві цифри номера залікової книжки студента; з будь-якою адресою для четвертого сокету.
1.3. 4. Індивідуальне завдання для кожного студента. У файлі HOSTS визначити чотири доменних імена для власної робочої станції й іншої робочої станції з номером, рівним «№-1», де «№» - номер власної робочої станції (при «№-1», рівному нулю, номер іншої станції приймається рівним «8»). До складу доменних імен увести власні ініціали. Імена зв'язати з локальними датаграммным і віртуальним адресами «192.168.ZZZ.1ХХ» і «192.168.ZZZ.1ХХ+1», а також з вилученими датаграммным і віртуальним адресами «192.168.ZZZ.1ХХ+2» і «192.168.ZZZ.1ХХ+3». Виконати за допомогою функції gethostbyname одержання покажчиків на структури, що характеризують імена й адреси узлов.
1.3. 5. Загальне завдання для всіх студентів. Виконати прив'язку всіх підготовлених адрес і сокетів. Спровокувати повернення функцією bind значення SOCKET_ERROR по причине:
Код помилки Опис
WSANOTINITIALISED Перед використанням функції необхідно викликати функцію WSAStanup
WSAENETDOWN Збій у мережі
WSAEADDRINUSE Зазначена адреса вже використається
WSAEFAULT Значення параметра namelen менше розміру структури sockaddr
WSAEINPROGRESS Виконується функція, що блокує, інтерфейсу Windows Sockets
WSAEAFNOSUPPORT Цей протокол не може працювати із зазначеним сімейством адрес
WSAEINVAL Сокет уже прив'язаний до адреси
WSAENOBUFS Установлено занадто багато з'єднань
WSAENOTSOCK Зазначений у параметрі дескриптор не є сокетом
1.3. 6. Загальне завдання для всіх студентів. Для звільнення ресурсів послідовно закрити всі сокети й завершити роботу додатка з Windows Sockets.
1.3. 7. Загальне завдання для всіх студентів. За результатами лабораторної роботи підготувати повний протокол, що включає формулювання пунктів завдання, коротке опис реалізації кожного з пунктів завдання із фрагментами коду, виводи по кожному з пунктів заданиния.
Лабораторна робота № 2. Створення каналу зв'язку
Якщо варто передавати датаграммные повідомлення за допомогою протоколу негарантованої доставки UDP, канал зв'язку не потрібний. Відразу після створення сокетів і їхньої ініціалізації можна приступати до передачі даних. Але для передачі даних з використанням протоколу TCP необхідно створити канал зв'язку.
