mosquittopp: опубликовать сообщение для брокера

Я использую оболочку cpp для комаров под Linux.
После инициализации:

this->keepalive = 60;
this->id = id;
this->port = port;
this->host = host;
this->topic = topic;
mosquittopp::log_init(MOSQ_LOG_ALL, MOSQ_LOG_STDOUT);
const int result = connect(host, port, keepalive);

как я могу опубликовать свое собственное сообщение?

Я использую метод публикации, определенный оболочкой следующим образом:

int publish(uint16_t *mid, const char *topic, uint32_t payloadlen=0, const uint8_t *payload=NULL, int qos=0, bool retain=false);

Так что я могу позвонить таким образом:

publish(NULL, topic, strlen(message));

но .. где я могу указать настоящее «сообщение»?

0

Решение

Здесь вы можете получить прекрасный пример кода для публикации на C ++. http://www.disk91.com/2013/technology/programming/mosquitto-c-sample-code-to-publish-message/

0

Другие решения

Вы можете использовать его как,

publish(NULL, topic, strlen(message), message);

для есть идея, [взято из примера комара temp_conv]

temp_farenheit = temp_celsius*9.0/5.0 + 32.0;
snprintf(buf, 50, "%f\n", temp_farenheit);
publish(NULL, "temperature/celsius", strlen(buf), buf);
0

По вопросам рекламы [email protected]