首页 > 解决方案 > qtmqtt 无法连接到服务器

问题描述

QtMqtt无法连接服务器,但是我使用其他测试软件可以正常连接。服务器是Ubuntu上的mosquitto。

 m_client= new QMqttClient(this);
 m_client->setProtocolVersion(QMqttClient::MQTT_3_1_1);
 m_client->setPort(1883);
 m_client->setHostname("127.0.0.1");
 m_client->setClientId("qt");
 m_client->connectToHost();

connect(m_client,SIGNAL(stateChanged(ClientState)),this,SLOT(slot_stateChanged()),Qt::UniqueConnection);

void slot_stateChanged()
{
    qDebug() << "mqtt stsate" << _client->state();
}

标签: c++qtmqtt

解决方案


您在本地主机上使用代理,也许您应该在调用之前连接信号槽connectToHost()

尝试

m_client= new QMqttClient(this);
//connect signal slot


connect(m_client,SIGNAL(stateChanged(ClientState)),this,SLOT(slot_stateChanged()),Qt::UniqueConnection);

//connect to borker
 m_client->setProtocolVersion(QMqttClient::MQTT_3_1_1);
 m_client->setPort(1883);
 m_client->setHostname("127.0.0.1");
 m_client->setClientId("qt");
 m_client->connectToHost();


void slot_stateChanged()
{
    qDebug() << "mqtt stsate" << _client->state();
}

推荐阅读