- •Содержание
- •Предисловие
- •Лабораторная работа №1
- •Цель работы
- •Методические указания
- •Общая информация о протоколах
- •Стек протоколов Интернета
- •Сетевое оборудование
- •Физическая среда передачи
- •Принцип взаимодействия прикладной программы с системным программным обеспечением
- •Анализ структуры локальной сети факультета пми
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа №2
- •Цель работы
- •Методические указания
- •Описание функций работы с сокетами
- •Методы, которые реализуют api-интерфейс сокетов
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа №3
- •Цель работы
- •Методические указания
- •Потоки управления
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Идентификация страницы
- •Взаимодействие типа клиент/сервер
- •Передача документов Web и протокол http
- •Архитектура программного обеспечения браузера
- •Кэширование в Web-браузерах
- •Поддержка кэширования протоколом http
- •Альтернативные протоколы передачи
- •Основные типы документов Web
- •Преимущества и недостатки документов каждого типа
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Лабораторная работа № 5
- •Цель работы
- •Методические указания Передача фреймов по сети
- •Способы адресации
- •Широковещательная рассылка
- •Групповая рассылка
- •Определение содержимого фрейма
- •Заголовки фрейма и его формат
- •Формат фрейма Ethernet
- •Фреймы, не обеспечивающие автоматическое распознавание типа
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6
- •Цель работы
- •Методические указания
- •Основы протокола icmp
- •Реализация
- •Реализация с использованием Windows api
- •Задание к лабораторной работе
- •Стандарт ieee 802.11 и его расширение 802.11b/g
- •Режимы работы 802.11
- •Физический уровень 802.11
- •Метод fhss
- •Метод dsss
- •Расширение стандарта 802.11
- •Канальный (Data Link) уровень 802.11
- •Подключение к сети
- •Поддержка потоковых данных
- •Безопасность
- •Построение Wi-Fi
- •Что нужно учитывать, при построении wlan
- •Архитектуры
- •Вопросы безопасности
- •Проектирование и реализация аппаратного и программного обеспечения Аппаратное обеспечение терминального класса №208б
- •Настройки клиента и сервера для различных ос
- •Работа с базой данных, содержащей mac-адреса
- •Исследование уровня сигнала на территории факультета пми
- •Задание к лабораторной работе
- •Контрольные вопросы
- •Список литературы
- •Приложение а Пример api-интерфейса прикладного
- •Пример кода эхо-сервера
- •Пример кода клиента службы эхо-повтора
- •Приложение б Пример api-интерфейса прикладного
- •Класс Server
- •Класс Client
- •Модуль transform
- •Пример кода эхо-сервера
- •Пример кода клиента службы эхо-повтора
Задание к лабораторной работе
Написать простейшее приложение клиент-сервер с одним сервером и одним клиентом используя API-интерфейс высокого уровня. Пример интерфейса приведен в приложении.
Сервер начинает свою работу с ожидания запроса от клиента на соединение. Клиент устанавливает связь с сервером и посылает набор данных, введенный пользователем, на сервер. Сервер получает от клиента набор данных, выполняет указанные в варианте действия и возвращает клиенту результат. После этого сервер снова переходит в состояние ожидания запроса на соединение. Клиент, получив ответ с сервера, распечатывает его на экране и прекращает свою работу.
Варианты заданий
Клиент пересылает серверу данные(строки текста). Сервер возвращает клиенту полученные данные, включив в конец каждого предложения количество символов в нем.
Клиент пересылает серверу данные(строки текста). Сервер изменяет порядок следования букв в полученном тексте на обратный и отправляет текст в таком виде клиенту.
Клиент пересылает серверу данные(строки текста). Сервер в полученном тексте в конец каждого предложения вставляет свой IP-адрес и номер порта и возвращает в таком виде данные клиенту.
Клиент пересылает серверу данные(строки текста). Сервер создает файл с уникальным именем, записывает в него полученные от клиента данные и в качестве результата обработки данных отправляет клиенту имя созданного файла. После получения ответа с сервера клиент распечатывает на экран содержимое указанного сервером файла.
Клиент пересылает серверу данные(строку и имя директории). Сервер находит все файлы в заданной директории, содержащие указанную строку и высылает их имена клиенту.
Клиент пересылает серверу имя некоторого файла. Сервер находит файл с указанным именем и пересылает его содержимое клиенту, либо сообщает клиенту, что файл с данным именем не найден.
Клиент пересылает серверу данные (имя директории). Сервер возвращает список файлов и поддиректорий данной директории(рекурсивно).
Контрольные вопросы
Что представляет собой модель клиент-сервер?
Приведите общие особенности клиентских программ.
Приведите общие особенности серверных программ.
Приведите общую схему клиент-серверного взаимодействия.
В чем отличие взаимодействия клиента с сервером при использовании различных протоколов транспортного уровня, таких как TCP и UDP? В чем преимущества и недостатки каждого из протоколов?
Что такое сокет? Какие виды сокетов вам известны?
Опишите основные методы работы с сокетами.
Приведите схему взаимодействия клиента с сервером при использовании механизма сокетов.
Лабораторная работа №3
Создание приложения интерактивной переписки.
Цель работы
Изучить основные принципы разработки многопользовательских приложений, построенных на основе технологии клиент-сервер с использованием протокола TCP/IP.
Методические указания
В лабораторной работе №2 было реализовано простейшее взаимодействие, в котором участвовали один клиент и один сервер. В данной лабораторной работе предлагается модифицировать программы таким образом, чтобы сервер мог осуществлять взаимодействие с несколькими клиентами сразу.
Схема работы chat-сервера и chat-клиента
Сервер
Работа сервера начинается с перехода в состояние ожидания запроса на установление соединения от клиента. Затем сервер входит в цикл, в котором он получает и отображает строки текста от клиентов.
Клиент
Работа клиентской программы начинается с передачи серверу запроса на установление соединения. После установления соединения клиент также входит в цикл. При каждом проходе по циклу клиент выдает локальному пользователю приглашение к вводу строки текста, считывает строку, введенную с клавиатуры, отправляет ее на сервер, а затем получает и отображает строку текста, полученную с сервера. (Рисунок 2.1)