Skip to content

SnowCoderX/ServerAndClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Примитивный пример работы сервера и клиента на Linux.

Тестовое задание: Разработать на С++ простые консольные TCP клиент и сервер с использованием linux socket. Код писать в стиле ООП.

Клиент получает из командной строки 3 параметра:

  1. Текстовое имя клиента
  2. Номер порта сервера
  3. Период подключения к серверу в секундах

Клиент с указанным периодом подключается к серверу и отправляет текстовую строку в формате [yyyy-mm-dd hh:mm:ss.ms] "имя_клиента"

Сервер получает из командной строки 1 параметр:

  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

и так далее.

About

test task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors