Я пытаюсь отправить 1 КБ данных с «сервера» на «клиента», но я просто не могу сделать это правильно.
Есть несколько вещей, которые мне нужно сделать в этом:
1) Необходимо использовать разъемы boost-asio для передачи данных.
2) Необходимо сериализовать созданный мной тип (пакет), который будет содержать данные в виде строки или символа *
Вот что происходит:
Сначала я получаю 1 КБ данных из образца текстового файла на сервере. Я получаю это и помещаю в тип пакета, который я создал. Я определил поле данных в пакете для хранения этих данных в виде std :: string. (Я попробовал char *, но он не сработал - см. Следующий параграф).
Во-вторых, я сериализую его, используя boost text_oarchive. У меня нет проблем с сериализацией типа Packet, если он просто содержит строку, но мне действительно нужен способ сериализации с типом данных в виде массива char (чтобы он лучше работал с сокетом ниже)
В-третьих, я отправляю его через разъем asio boost Здесь у меня проблема, потому что я не могу найти способ отправить std :: string через соединение с сокетом. Все, что я вижу в качестве примеров и в документации, нуждается в буфере, использующем тип char *, а не строку.
это просто головная боль. Вы можете помочь?