@JustSokol
newby programmer

Что использовать в С++(Qt,Boost) для простого серверного приложения-хранилища данных?

Есть учебная задачка. Есть клиентское приложение на Qt (просмотр и редактирование справочника(добавить удалить запись), запись - 2 строки QString заключенные в пользовательский тип данных).

Нужно сделать на клиентской стороне модуль который работает с сетью (будет обращаться к серверному приложению и передавать туда одну/несколько записей для их удаления/добавления по значению/объектно и получать массив всех существующих на данный момент записей).

И самое главное - серверное приложение которое принимает сообщения, хранит все записи в, грубо говоря, в массиве (тоесть ненадо файл или БД использовать, пока что всё виртуально в рантайме). Может добавлять/удалять и выдавать все записи обратно клиентскому. Должна проверять может ли удалить/добавить и в случае чего сообщать об этом клиентскому.

Подскажите в какую сторону копать (библиотеки boost, классы qt), и в двух словах как будет выглядеть с использованием этого.

Сам гдето видел примеры/уроки подобного. там делалось на простом сокете и работалось как с файлом и все вручную. Но самому анализировать просто сообщение сокета и изобретать очередной велосипед работы с сокетом чтобы получать нужные объекты - не хочется.
Мб есть уже решение и кто-то мне его подскажет.

Всё расписывать не надо. В принципе достаточно указать какие библиотеки/классы посмотреть и пара слов куда/как они должны запиливаться в мои приложения.
  • Вопрос задан
  • 597 просмотров
Пригласить эксперта
Ответы на вопрос 2
Nipheris
@Nipheris Куратор тега C++
cpp-netlib.org или doc.qt.io/qt-5/qnetworkrequest.html если нужен HTTP
Boost::Asio, если не нужно HTTP
Berkeley Sockets все еще в моде, если не боитесь C-style
На последние два можно накрутить Protocol Buffers через stream-ы, если протокол достаточно сложный или предполагает расширение.
Ответ написан
@vilgeforce
Раздолбай и программист
GET/POST запросы для получения/отправки данных на сервер. Никакие библиотеки не нужны, в принципе, все можно даже средствами WinAPI сделать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы