Чат. Клиент-Сервер на QT+boost

Андрей5 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.08.2020

Проект типа учебного примера. 

Необходимо разработать три модуля, в каждом одна...три функции, лаконично и понятно.

1. Клиентская часть. Соединяется с сервером (постоянное соединение tcp/ip). Отправляет другим подключенным клиентам и получает от них текстовые сообщения.

2. Серверная часть - Listener. Принимает подключения от клиентов, записывает в log-файл Время, IP клиента, Ник-человека. Далее передает соединение другому процессу (Чат-Серверу), с которым клиент продолжает работу.

3. Серверная часть - Чат-Сервер. Принимает соединения от (Listener) с указанным Ником-человека. Реализует обмен сообщений между подключенными клиентами.

Код должен быть написан на QT, для сетевого соединения и транспорта данных - boost.

Listener и Чат-Сервер отдельные процессы, которые независимо могут быть остановлены и запущены снова. При этом не требуя после своей перезагрузки, перезагрузки второго процесса.

При выключении Чат-Сервера все клиентские соединения получают сообщение что сервер выключается.

Текстовые сообщения внутри сервера, на уровне кода, должны быть объектом класса в котором есть атрибут - буфер для строки, время, Ник-отправитель, IP-отправитель.

Подключенным Клиентам транслируются все эти атрибуты: текстовое сообщение, время, Ник, IP. 

Все разработанные модуля  должны быть кроссплатформенные, собираться под Windows / Linux (32/64)

Заявки фрилансеров