Задача должна быть решена на языке C++ для ОС Linux. При разработке использовать только стандартную библиотеку C++, boost и POSIX API.
Исходные данные: файл формата CSV с тремя колонками: дата/время в формате «dd.mm.yyyy hh:mm:ss» и две колонки с дробными числами; в качестве десятичного разделителя точка. Все три колонки обязательные.
Решение состоит из серверной и клиентской частей, запускаемых на одной машине. Сервер работает постоянно, клиент запускается для обработки одного файла. Имя файла передается клиенту в командной строке. Клиент соединяется с сервером по протоколу TCP и передает считанные из файла данные. В случае успешного завершения получает от сервера количество записей исходного файла и сохраняет в файл протокола.
Допустим запуск одновременно нескольких экземпляров клиентов с разными файлами. Сервер может принимать несколько клиенских соединений одновременно. Для каждого соединения находит запись с максимальной датой и в протокол пишет соответствующую дату и частное двух числовых полей. Подсчитывает количество записей и возвращает его клиенту.
Сервер использует тот же файл протокола, что и клиенты. В случае возникновения ошибок протокол должен содержать достаточную для понимания причины информацию об ошибках как на стороне клиента, так и сервера.