Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Курсач / Курсовая

.docx
Скачиваний:
0
Добавлен:
09.07.2025
Размер:
12.82 Кб
Скачать

ЗАДАНИЕ НА КУРСОВУЮ РАБОТУ

Разработать многозадачное приложение, выполняющее получение, сбор и вывод

системной информации.

Многозадачное приложение реализуется на основе технологии «клиент-сервер»

средствами редактора Visual Studio Code либо редактором/IDE по выбору на языке

программирования С/С++; по согласованию с преподавателем возможно использование

других компиляторов и языков программирования и вариантов задания. Процессы 1 и 2

выступают как серверы приложений, третий процесс является их клиентом. Обмен

данными между клиентами и серверами осуществляется при помощи сокетов.

И клиентский, и серверные процессы оформляются как отдельные приложения,

запускаются и завершают работу независимо друг от друга. Серверы должны быть

многопоточными, то есть допускать одновременное подключение нескольких клиентов.

Серверные процессы по запросу получают системную информацию в соответствии с

вариантом задания и передают ее клиенту с указанием текущего времени (до секунд). На

стороне клиента необходимо реализовать интерфейс, позволяющий пользователю

подключиться по выбору к первому или второму серверу, к двум серверам, отключиться от

каждого сервера, а также возможность раздельного получения и отображения данных по

каждому из пунктов индивидуального задания, при выполнении дополнительных заданий

при необходимости учесть соответствующие отдельные пункты в интерфейсе.

Необходимо предусмотреть проверку на повторный запуск серверов, т.е. исключить

ситуацию, когда запускается более чем один экземпляр каждого сервера; проработать

возможность перезапуска сервера в случае его остановки.

Сервер должен поддерживать работу с несколькими клиентами одновременно (в

целях демонстрации достаточно 5). В течение всего времени подключения клиента к

серверу информация в клиентской части должна обновляться либо автоматически (по выбранному дополнительному заданию), либо по команде от пользователя.

Также реализовать дополнительно:

  1. Обновление информации на клиенте происходит по инициативе сервера как реакция на изменения на сервере.

  2. Создать отдельный сервер, который ведет лог операций (отдельный для каждого

сервера задачи, с сохранением лога в файл для каждого сервера), в котором

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

Соседние файлы в папке Курсач