mosquitto使用多线程时,最好使用mosquitto_loop_start(),then mosquitto_disconnect() and mosquitto_loop_stop()

当使用mosquitto_loop_forever()时,使用mosquitto_threaded_set(mosq, true)

How to disconnect and close the struct mosquitto object safely? · Issue #1282 · eclipse/mosquitto (github.com)https://github.com/eclipse/mosquitto/issues/1282

Mosquitto library should default to thread-safe · Issue #450 · eclipse/mosquitto (github.com)https://github.com/eclipse/mosquitto/issues/450

mosquitto的API:

mosquitto.hhttp://mosquitto.org/api/files/mosquitto-h.html

2023.7.27更新:

mosquitto断线重连

if (robotunePub->loop(-1, 1))
{
	robotunePub->reconnect();
}

 mosquitto格式转换

void vn_mosquitto::on_message(const struct mosquitto_message* message)
{
    std::string robotTuneMsg((char *)message->payload);
}

 

struct mosquitto_message{
	int mid;
	char *topic;
	void *payload;
	int payloadlen;
	int qos;
	bool retain;
};

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐