Что использовать в С++(Qt,Boost) для простого серверного приложения-хранилища данных?
Есть учебная задачка. Есть клиентское приложение на Qt (просмотр и редактирование справочника(добавить удалить запись), запись - 2 строки QString заключенные в пользовательский тип данных).
Нужно сделать на клиентской стороне модуль который работает с сетью (будет обращаться к серверному приложению и передавать туда одну/несколько записей для их удаления/добавления по значению/объектно и получать массив всех существующих на данный момент записей).
И самое главное - серверное приложение которое принимает сообщения, хранит все записи в, грубо говоря, в массиве (тоесть ненадо файл или БД использовать, пока что всё виртуально в рантайме). Может добавлять/удалять и выдавать все записи обратно клиентскому. Должна проверять может ли удалить/добавить и в случае чего сообщать об этом клиентскому.
Подскажите в какую сторону копать (библиотеки boost, классы qt), и в двух словах как будет выглядеть с использованием этого.
Сам гдето видел примеры/уроки подобного. там делалось на простом сокете и работалось как с файлом и все вручную. Но самому анализировать просто сообщение сокета и изобретать очередной велосипед работы с сокетом чтобы получать нужные объекты - не хочется.
Мб есть уже решение и кто-то мне его подскажет.
Всё расписывать не надо. В принципе достаточно указать какие библиотеки/классы посмотреть и пара слов куда/как они должны запиливаться в мои приложения.
cpp-netlib.org или doc.qt.io/qt-5/qnetworkrequest.html если нужен HTTP
Boost::Asio, если не нужно HTTP
Berkeley Sockets все еще в моде, если не боитесь C-style
На последние два можно накрутить Protocol Buffers через stream-ы, если протокол достаточно сложный или предполагает расширение.
Artem: Потому что это и есть то самое сетевое взаимодействие, для которого самые разнообразные серверные и клиентские части уже есть. Можете BSD Socket использовать: Win, Linux определенно одинаковый API имеют.