ТЕМА: "Параллельная обработка нескольких клиентов"

Цель: ознакомиться c принципами разработки и функционирования серверных приложений, использующих сокеты и способных обрабатывать нескольких клиентов одновременно.

Порядок выполнения работы

  1. Измените серверное приложение из лабораторной работы "Основы использования сокетов" так, чтобы оно было способно обрабатывать нескольких коиентов одновременно. Для параллельной (одновременной) обработки нескольких в приложении должны быть реализованы два механизма:
    • на основе порождения дочерних процессов при помощи системного вызова fork;
    • на сонове неблокирующих сокетов.
    Тип используемого механизма определяется специальным параметром, передаваемым серверному приложению при запуске в командной строке до или после номера используемого порта.
  2. Выполните тестовый запуск серверной и клиентской части, а также осуществите операции их взаимодействия.
  3. По результатам работы подготовить отчет.

Литература

  • У. Ричард Стивенс, Стивен А. Раго "UNIX. Профессиональное программирование." 3-е изд. — СПб.: Питер, 2018. — 944 с.
    Глава 8. Управление процессами. Пункты 8.1-8.5
    Глава 16. Межпроцессорные взаимодействия в сети: сокеты.
  • У. Стивенс "UNIX: разработка сетевых приложений" СПб.: Питер, 2003. — 1088 с.
    Глава 4. Элементарные сокеты TCP. пункты 4.7-4.8.
    Глава 6. Мультиплексирование ввода-вывода: функции select и poll.
    Глава 15. Неблокируемый ввод-вывод.