Использовать Boost.Asio для реализации клиента для сервера из Лабораторной работы №7.
Реализовать следующий функционал:
- клиент заходит на сервер с именем пользователя (без пароля);
- все соединения инициируются клиентом, где клиент запрашивает ответ от сервера;
- запросы и ответы на них заканчиваются символом
'\n'
; - сервер отключает любого клиента, который не отвечает (не пингуется) в течение 5 секунд;
- клиент может делать следующие запросы: получить список всех подключенных клиентов и пинговаться, где в ответе сервера будет либо
ping_ok
, либоclient_list_chaned
(в последнем случае клиент повторно запрашивает список подключенных клиентов); - каждый клиент проверяет связь с сервером в случайный момент времени (раз в 1-7 секунд, таким образом, время от времени соединение с сервером будет разрываться);
- подробно взаимодействие между клиентом и сервером показано в лабораторной работе №7.