Как передать и получить переменные C++ по сети?

Написал клиент сервер на основе winsock2 на с++
Все работает отлично, но данные я передаю в виде SQL запросов и приходится передавать одно сообщение потом ждать ответ от сервера и так несколько раз.

Есть какие то стандартные решения чтобы передать переменные разных типов в том числе строки std::string, из одной с++ проги в другую?
Можно конечно самому формировать сообщение придумать какой то разделитель, потом на другой стороне написать прием этого сообщения, но мне кажется давно есть стандартные решения для этого.
Плюс при передаче строк всегда есть вероятность что передаваемая строка будет такая же как придуманный мной разделитель.

Интересует максимальная простота ну и желательно в будущем без проблемная состыковка с другими языками программирования, то есть отправляю на с++ получаю к примеру на с#.
  • Вопрос задан
  • 4337 просмотров
Пригласить эксперта
Ответы на вопрос 5
kynisa
@kynisa
I just press buttons.
XML Для с++ был вопрос тут.
JSON Для с++ также было тут.
Ответ написан
Trrrrr
@Trrrrr
Что бы не думать что использовать json или xml, рекомендую посмотреть на boost::ptree.

Это враппер над некоторыми стандартными форматами хранения данных.
Вот небольшой туториал:
www.boost.org/doc/libs/1_42_0/doc/html/boost_prope...
вместо write_xml пишите write_json и можете использовать другой формат (хотя там есть ньюансы, но они тут не важны)
Ответ написан
Комментировать
afiskon
@afiskon
winsock2 и с++ - это олдскульно, конечно, но в третьем тысячелетии принято использовать REST ну или какой-нибудь Protobuf например.
Ответ написан
Комментировать
@winser Автор вопроса
SQL тут не причем, задача просто принять и получить переменные по сети одним сообщением.
с сериализацей незнаком, думаю в этом и весь вопрос
Ответ написан
Комментировать
@winser Автор вопроса
В общем вариантом много но нужен рабочий пример приема и передачи данных
на JSON или XML !!!

какие то функции которые будут записывать переменные на одной стороне и считывать на второй
А то пока кроме описания формата данных ничего не нашел, а реализовывать все самому слишком долго.

Если нет ничего готового на с++, то проще сделать свой разделитель и проверку что значение переменной не содержит этот разделитель.
Ответ написан
Ваш ответ на вопрос

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

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