Mosquitto を使用して、メッセージをサブスクライバーに公開しています。
サブスクライバーの場合、次を使用します。
mosquitto_sub -h ホスト -t "new_topic" -q 0
代わりに、公開のために mosquittopp ラッパーを使用するプログラムを開発しますが、関連はありません。
このメソッドを使用してメッセージを送信します。
int MyClass::publish(const char* message) {
return mosquittopp::publish(NULL, topic_, strlen(message),
(uint8_t*) message, qos_);
}
....
MyClass publisher;
string s = base64_decode("LAAAtQ8AIXRpwoVyeMKodMK2wpPDscKBYcKDw6jCg8KAYWDDhjVCMQ==");
publisher.publish(s.c_str());
s を印刷すると、次のようになります。
,�!tirx¨t¶ñaèa`Æ5B1
そして、私は大丈夫だと思います。
しかし、サブスクライバーは最初の文字のみを受信しているようで、実際には印刷のみです:
,
何か案は?
アップデート
これは、私が使用したバージョン (1.3.1) のバグで、バージョン 1.3.4 から修正されました。