Мессенджер, работающий по протоклу TCP.
Топология подключения клиентов - звезда (один сервер, который знает всё и обо всех клиентах).
- Поддерживается авторизация и регистрация пользователей
- Отправка и прием текстовых сообщений
- Хранение истории сообщений
Для графического интерфейса клиента используется Qt.
Для сборки проекта необходимо наличие следующих библиотек и зависимостей:
- Qt6
- boost 1.81.0 или новее
- postgreSQL
- libpqxx
- Cmake версии 3.5 или новее
Для настройки проекта необходимо:
- Создать базу данных postrgesql
messenger
- Запустить для создания структуры БД файл
MEGAADDER.sql
(содержится в проекте Server) - Указать свои данные, используемые для подключения к БД, в
файле
databaseManager.h
- Для изменения адреса и порта необходимо:
- Изменить аргумент конструктора объекта Server в файле
main.cpp
проекта Server - Указать адрес и порт в файле
config.json
проекта Client
- Изменить аргумент конструктора объекта Server в файле
Описание структуры проекта:
- Client содержит файлы:
main.cpp
– главный файлmainwidget.ui
,mainwidget.h
,mainwidget.cpp
– файлы главного виджетаdialog.ui
,dialog.h
,dialog.cpp
– файлы виджета диалогаconnection.h
,connection.cpp
– классConnection
, обеспечивающий связь Клиента с СерверомCMakeLists.txt
– файл Cmake
- Server содержит файлы:
main.cpp
– главный файлdatabaseManager.h
,databaseManager.cpp
– класс DatabaseManager, отвечающий за связь Сервера с БДserver.h
,server.cpp
– классServer
, отвечающий за связь с Клиентом и обработку поступающих запросовCMakeLists.txt
– файл CmakeMEGAADDER.sql
– файл, создающий структуру БД