gpt4 book ai didi

c++ - 零 MQ 发布者订阅者(发布/订阅)

转载 作者:行者123 更新时间:2023-11-28 05:24:45 27 4
gpt4 key购买 nike

我已经实现了一个简单的发布/订阅示例。我正在发送一个简单的问候消息并尝试在订阅者处接收它。我的发布者代码是 -

std::string msg = "hello,";
zmq::message_t message(static_cast<const void*> (msg.data()), msg.size());
publisher.send(message);

我的订阅者代码 -

zmq::message_t msgReceive;
subscriber.recv(&msgReceive);
const char* buffer_body = static_cast<const char*>(msgReceive.data());
printf("Message: %s\n",buffer_body);

我得到的输出是 - “你好,套接字类型”而不是“你好”,

我无法弄清楚错误在哪里。任何帮助,将不胜感激。

最佳答案

尝试改变这一行

const char* buffer_body = static_cast<const char*>(msgReceive.data());

const char* buffer_body = static_cast<const char*>(msgReceive.data(), msgReceive.size());

这样您就可以根据消息的长度告诉 C_String 在何处终止,而不是让它在找到第一个空字符时自行终止。

有关详细信息,请参阅 the guide .

关于c++ - 零 MQ 发布者订阅者(发布/订阅),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40788482/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com