最近工作中碰到问题需要方法获得mqttclient publish之后的消息反馈,然后做相应处理。在网上找了很久没有找到qt中的相关回调函数。最后在阅读QT官方提供的mqtt文档时发现了messageSent这个信号,经过测试,确认了客户端调用publish方法后的int返回值和服务器反馈的这个信号里的int值能够对应上。
但是由于QT不允许跨线程调用QObject对象,因此同一个client的publish操作和messageSent信号的接收只能在同一个线程中,这不利于收到反馈信号后再对publish做时延等操作。由于本人水平太菜,暂时想不到好的处理方式,如果有大佬瞥见了这篇文章,希望能够指点一二吧。