c ++ ActiveMQ отправка двоичных сообщений

Можно ли отправить поток строк, содержащий двоичный файл, поверх activemq? Если да, то как это делается?

Я знаю, что Java-версия activemq имеет для этого функцию BlobMessage или StreamMessage, однако она еще не реализована в версии для C ++. Я уже читал о классе BytesMessage, но не могу найти хороших примеров C ++, которые его реализуют.

Спасибо.


person user459811    schedule 03.03.2011    source источник


Ответы (1)


Если вы загрузили исходный код ActiveMQ-CPP, поищите в папке src / test модульные тесты, которые имеют дело с BytesMessage, и они покажут вам, как это делается. Также поддерживается StreamMessage, но не BlobMessage.

Вот документ API для BytesMessage в CMS. http://activemq.apache.org/cms/api_docs/activemqcpp-3.2.5/html/classcms_1_1_bytes_message.html

и StreamMessage http://activemq.apache.org/cms/api_docs/activemqcpp-3.2.5/html/classcms_1_1_stream_message.html

-Тим www.fusesource.com

person Tim Bish    schedule 04.03.2011
comment
c ++ std :: string может содержать двоичные данные со встроенными нулями. Мне было интересно, была ли эта std :: string отправлена ​​с TextMessage, будет ли std :: string усечена из-за встроенных нулей? Что, если использовалась функция writeString () ByteMessage? Приведет ли это к такому же поведению? Спасибо. - person user459811; 07.03.2011
comment
Я думаю, что он должен сохранить встроенные нули, есть только один способ узнать ... попробуйте. - person Tim Bish; 08.03.2011