Этот проект представляет собой консольные TCP клиент и сервер, написанные на языке C++ с использованием Linux сокетов. Клиент и сервер разработаны в объектно-ориентированном стиле.
Клиент получает из командной строки 3 параметра:
- Текстовое имя клиента
- Номер порта сервера
- Период подключения к серверу в секундах
Клиент с указанным периодом подключается к серверу и отправляет текстовую строку в формате [yyyy-mm-dd hh:mm:ss.ms] "имя_клиента"
Сервер получает из командной строки 1 параметр:
- Номер порта
После запуска сервер слушает указанный порт, получает сообщения от клиентов и записывает их в файл log.txt
. Каждое подключение клиента обрабатывается в отдельном потоке. Каждое сообщение записывается в отдельную строку. Сервер позволяет работать с несколькими клиентами одновременно и обеспечивает корректный доступ к файлу log.txt
.
- Запуск сервера:
server 3000
- Запуск клиентов:
client Name1 3000 1
client Name2 3000 2
client Name3 3000 3
После запуска клиентов ожидается, что в файле log.txt
будет содержаться примерно следующая информация (фактический вывод зависит от момента запуска клиентов):
[2018-09-19 13:50:01.000] Name1
[2018-09-19 13:50:02.000] Name1
[2018-09-19 13:50:02.010] Name2
[2018-09-19 13:50:03.000] Name1
[2018-09-19 13:50:03.010] Name3
[2018-09-19 13:50:04.000] Name1
[2018-09-19 13:50:04.010] Name2
[2018-09-19 13:50:05.000] Name1
[2018-09-19 13:50:06.000] Name1
[2018-09-19 13:50:06.010] Name2
[2018-09-19 13:50:06.020] Name3