Программа удаленного обновления файлов
Нужно разработать пару программ - клиентскую и серверную части.
ОС: Windows7, Windows 10, Linux (Ubuntu 16.4)
Агент обновления (серверная часть):
Параметры запуска: TCP-порт, рабочая директория
- останавливает указанный процесс (исполняемый файл) по команде клиента
- запускает указанный процесс (исполняемый файл) по команде клиента
- скачивает по команде клиента с указанного URL файлы и копирует их в требуемое расположение
Пути к файлам, указываемые в командах – только относительные,в пределах указанной рабочей директории
Все операции с файлами – только в пределах указанной рабочей директории; выход на уровень выше должен быть исключен.
Клиентская часть:
- отображает список узлов (в список можно вручную добавлять узлы, удалять узлы)
- узлы можно добавлять группами, используя маски вида «192.168.0.*:8080»
- для каждого из узлов отображается текущий статус узла - работает агент обновления или нет
- поддерживает команды для агента – запуск указанного процесса на выбранных узлах, останов указанного процесса на выбранных узлах, обновление
файлов на выбранных узлах.
- отображает протокол работы (команды, отданные узлам; результаты их выполнения - ответы узлов)
Протокол: JSON / HTTP
Допускается использовать сторонние библиотеки с лицензиями BSD, MIT, Boost или аналогичными (допустимость коммерческого использования производных продуктов, возможность не поставлять исходный код): POCO, libevent, libev, Boost, cpp-netlib, libcurl и т.д.