|
@@ -69,6 +69,12 @@ void MQTTBase::connectToServer()
|
|
|
m_client.connectToHost();
|
|
|
}
|
|
|
|
|
|
+/* 获取连接状态 */
|
|
|
+QMQTT::ConnectionState MQTTBase::connectState()
|
|
|
+{
|
|
|
+ return m_client.connectionState();
|
|
|
+}
|
|
|
+
|
|
|
/* 发送消息 */
|
|
|
void MQTTBase::sendMessage(const QString& topic, const QByteArray& message, int qos)
|
|
|
{
|
|
@@ -85,6 +91,27 @@ void MQTTBase::sendMessage(const QString& topic, const QByteArray& message, int
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/* 发送消息,不检测是否连接了服务器 */
|
|
|
+bool MQTTBase::sendMessage(const QString& topic, const QByteArray& message, int qos, int& errorCode)
|
|
|
+{
|
|
|
+ if(qos > 2)
|
|
|
+ {
|
|
|
+ SPDLOG_ERROR("QoS值不合法:{}", qos);
|
|
|
+ errorCode = -1;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ QMQTT::Message msg(0, topic, message, qos);
|
|
|
+ auto ret = m_client.publish(msg);
|
|
|
+ if(ret != 0)
|
|
|
+ {
|
|
|
+ // SPDLOG_ERROR("发送消息失败:{}, 错误代码:{}", topic.toStdString(), ret);
|
|
|
+ errorCode = ret;
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ errorCode = 0;
|
|
|
+ return true;
|
|
|
+}
|
|
|
+
|
|
|
|
|
|
/* 连接成功 */
|
|
|
void MQTTBase::do_connected()
|