Я использую библиотеку Mosquittopp для C ++.
Метод publish () предоставляет функцию обратного вызова on_publish (int mid). mid — идентификатор сообщения, но как узнать, что сообщение было успешно отправлено?
Когда вы вызываете метод publish, вы даете указатель на int в качестве аргумента. Mosquito заполнит этот int идентификатором сообщения.
При вашем обратном звонке публике, москит даст MID. Если это середина совпадает с той, что заполнена методом публикации, то ваше сообщение успешно отправлено.
Конечно, вы также должны проверить возвращаемое значение mosquito_publish, оно должно быть 0 (MOSQ_ERR_SUCCESS). Если это не MOSQ_ERR_SUCCESS, существует проблема с публикацией.
Вы можете увидеть более подробно в исходном коде комаров Вот.
Других решений пока нет …