总体步骤:1 new client(客户端),成功后,2 subjection(订阅),3 读写等操作;
1 client代码:
m_client = new QMqttClient(); // 获取client
//设定client
m_client->setHostname(“127.0.0.1”);
m_client->setPort(1883);
m_client->setUsername(“admin”);
m_client->setPassword(“123456”);
m_client->connectToHost();
方案A:
connect(m_client,SIGNAL(stateChanged(ClientState)),this,SLOT(slot_client()));
再slot中处理subjection;
方案 B:
// 延时2秒等待链路连接关闭
QTime reachTime = QTime::currentTime().addSecs(2);
while (QTime::currentTime() < reachTime)
{
if(m_client->state() == QMqttClient::Connected)
{
break;
}
//100ms 检测一次
QCoreApplication::processEvents(QEventLoop::AllEvents,100);
}
再订阅;
注意事项