2011-03-03 145 views
1

是否有可能發送一個包含二進制active字符串流?如果是這樣,這是如何完成的?c + + ActiveMQ發送二進制消息

我知道activemq的Java版本有一個叫做BlobMessage或StreamMessage的功能,但是這並沒有在C++版本中實現。我已經閱讀了關於BytesMessage類,但是我找不到任何實現它的好的C++示例。

謝謝。

回答

2

如果您已經下載了ActiveMQ-CPP的源代碼,然後在src/test文件夾中查找處理BytesMessage的單元測試,它會告訴您它是如何完成的。也支持StreamMessage,但BlobMessage不是。

以下是CMS中BytesMessage的API文檔。 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

-Tim www.fusesource.com

+0

C++的std :: string能夠保持與嵌入的空值的二進制數據。我在想,如果這個std :: string是使用TextMessage發送的,std :: string會因爲嵌入的null而被截斷嗎?如果使用了ByteMessage的writeString()會怎麼樣?這會產生相同的行爲嗎?謝謝。 – user459811 2011-03-07 17:21:50

+0

我認爲它應該保留嵌入的空值,只有一種方法可以找出....嘗試一下。 – 2011-03-08 01:09:04