Тестовое задание для собеседования Состоит из 2х проектов:
- ServerProject - проект Сервера, который отправляет данные для архивации клиенту и формирует новый заархиваированный файл
- ClientProject - архивирует данные, полученные от сервера Примечание: в папке Common/ находятся общие методы 2х проектов для коммуникации по сокетам
- Установите пакет VS MSVC и установите его как систему сборки проектов
- Перед компиляцией проектов укажите в переменной среды
VCPKG_ROOTпуть к vcpkg - (опционально) В файлах CMakeLists.txt закомментируйте или расскоментируйте
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DLOG")для вывода информации в консоль о статусе работы программ - В файлах CMakeLists.txt закомментируйте или расскоментируйте
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUSE_SELF_CQ")для выбора используемой реализации потокобезопасной очереди (раском. - реализация veselchak24 (написанная мной), закомм. - реализация moodycamel::ConcurrentQueue)
- Запустите Сервер с 3мя неименнованными парамметрами: ip, port, path_to_folder - папка, в которой нужно заархивировать файлы
- Запустите экземпляры Клиентов с 2мя неименнованными парамметрами: ip, port сервера
- Вы великолепны!