Здравствуйте, мне нужно реализовать данные вещи: - Я написал простенький чатик, но не могу понять, как реализовать личные сообщения(в голову приходит только дескриптор(да я не шарю толком))? - И как можно реализовать авторизацию пользователя? Думаю создать бд где будут храниться данные и из них брать. - И может тупой вопрос, но. Пример для чата брал из книги Шлее Qt 5.3 этот чат идет по локальной сети. При listen сервера указывается Hostadress::any, а в клиента connectToHost("localhost","2222"), но при вводе вместо localhost ip моего пк(ip узнавал с помощью яндекса) клиент не находит сервер.
Есть большая разница между сетевым чатом, в котором в качестве сервера выступает один из клиентов и веб-чатом, который позволяет общаться по сети интернет.
Для полноценного интернет-чата вам потребуется:
1) сервер с белым ИП.
Как правило сервер покупается у хост-провайдера (амазон/дижитал оушн и т.п.)
2) БД
Разворачивается на сервере. Структура БД определяется вашими потребностями.
Например, вам нужна авторизация и личные сообщения, что значит, что у вас будут как минимум две таблицы: Пользователи и Сообщения
3) Сервер чата
Приложение, предоставляющее апи для пользователей чата, с помощью которого они могут авторизоваться и отправлять/получать сообщения.
Сервер чата будет общаться напрямую с вашей БД и основная его работа будет в приеме и отправке данных пользователям.
Трендовым механизмом для реализации АПИ в вебе является REST, но существуют и иные способы.
4) Клиент чата
Приложение, устанавливаемое на конечной машине пользователя.
Общая схема взаимодействия.
* Авторизация
Клиент чата шлет серверу запрос вида "Авторизуй меня, вот мой логин и пароль"
Сервер проверяет корректность логина и пароля (т.е. наличие их в вашей БД) и шлет в ответ клиенту токен авторизации (т.е. циферки, которые клиент может использовать в дальнейшем для идентификации на сервере, чтобы каждый раз не слать логин и пароль)
* Отправка сообщений
Клиент чата шлет серверу запрос "Новое сообщение для юзернейм, текс, токен авторизации).
Сервер проверяет, что токен авторизации существует в системе и правилен, проверяет юзернейм получателя и сохраняет текст в БД.
В БД можно хранить примитивно: от кого, кому, текст сообщения и маркер "Отослано клиенту"
* Прием сообщений
Клиент чата шлет на сервер запрос "Есть ли для меня сообщения, вот мой токен".
Сервер проверяет токен, идентифицирует клиента и проверяет его сообщения, для которых маркер "Отослано клиенту" равен "Не отослано".
Все эти сообщения собираются и отправляются клиенту.
Клиент чата получает от сервера ответ с сообщениями и отображает их.
Это очень примерная схема реализации примитивного веб-чата
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне необходимо создать приложение, в котором происходит перемножение двух квадратных матрицПри этом пользователю предоставляется сделать...
Вывод из текстового файла слов в которых символ m повторяется ровно 3 раза c++ добавить к коду ниже