emqx / qmqtt

MQTT client for Qt
https://www.emqx.com
Other
686 stars 334 forks source link

MQTT connection disconnected after connected successfully #245

Closed VijayGawade closed 2 years ago

VijayGawade commented 2 years ago

I am using Qt 5.9 with QMQTT-Emqx MQTT library for MQTT communication.

Currently, we have locally installed a mosquitto broker and configured it to use an SSL certificate with the client certificate required on Port 8883.

In our app, we connected to the broker with CA & Client certificate with the following code

QSslConfiguration sslConfig;
    sslConfig.defaultConfiguration();
    sslConfig.setProtocol(QSsl::TlsV1_2);
    sslConfig.setPeerVerifyMode(QSslSocket::AutoVerifyPeer);
    sslConfig.setCaCertificates(caCertsList);
    sslConfig.setLocalCertificate(certs.first());
    sslConfig.setPrivateKey(QSslKey(clientKeyFile.readAll(), QSsl::Rsa));

    m_client = new QMQTT::Client("192.168.1.13", 8883, sslConfig, true);
    m_client->setClientId(MQTTConstant::clientId);

    connect(m_client, &QMQTT::Client::connected, this, &MqttController::onConnected);
    connect(m_client, &QMQTT::Client::disconnected, this, &MqttController::onDisconnected);
    connect(m_client, &QMQTT::Client::error, this, &MqttController::onError);

    m_client->setKeepAlive(10);
    m_client->setAutoReconnectInterval(1000);
    m_client->setCleanSession(true);
    m_client->setAutoReconnect(true);
    m_client->connectToHost();

Also I checked SSL library details as follows:

In onConnected() function I also able to publish messages successfully But after that following logs are appearing

2022-06-30T16:24:00.639+05:30 ~ INF ~ controller.mqtt ~ Disconnected from MQTT Broker !!! isConnectedToHost false 2022-06-30T16:24:00.643+05:30 ~ INF ~ controller.mqtt ~ MqttController: Connected to MQTT Broker !!! 2022-06-30T16:24:00.646+05:30 ~ INF ~ controller.mqtt ~ Subscribing to sensor/rtdata topic: true 2022-06-30T16:24:00.652+05:30 ~ WRN ~ controller.mqtt ~ Device is listening messages for Topic: "sensor/rtdata" 2022-06-30T16:24:00.654+05:30 ~ WRN ~ controller.mqtt ~ New Message Arrived... Topic: "sensor/rtdata" Payload: "This is test msg from windows-laptop" 2022-06-30T16:24:00.657+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost true 2022-06-30T16:24:00.661+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost true 2022-06-30T16:24:00.664+05:30 ~ INF ~ controller.mqtt ~ Disconnected from MQTT Broker !!! isConnectedToHost false 2022-06-30T16:24:00.667+05:30 ~ INF ~ controller.mqtt ~ MqttController: Connected to MQTT Broker !!! 2022-06-30T16:24:00.669+05:30 ~ WRN ~ controller.mqtt ~ Device is not connected to MQTT Broker !!! 2022-06-30T16:24:00.671+05:30 ~ INF ~ controller.mqtt ~ Subscribing to sensor/rtdata topic: false 2022-06-30T16:24:00.744+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost false 2022-06-30T16:24:00.747+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost false 2022-06-30T16:24:00.750+05:30 ~ INF ~ controller.mqtt ~ Disconnected from MQTT Broker !!! isConnectedToHost false 2022-06-30T16:24:00.752+05:30 ~ INF ~ controller.mqtt ~ MqttController: Connected to MQTT Broker !!! 2022-06-30T16:24:00.754+05:30 ~ WRN ~ controller.mqtt ~ Device is not connected to MQTT Broker !!! 2022-06-30T16:24:00.756+05:30 ~ INF ~ controller.mqtt ~ Subscribing to sensor/rtdata topic: false 2022-06-30T16:24:00.788+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost false 2022-06-30T16:24:00.791+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost false 2022-06-30T16:24:00.794+05:30 ~ INF ~ controller.mqtt ~ Disconnected from MQTT Broker !!! isConnectedToHost false 2022-06-30T16:24:00.798+05:30 ~ INF ~ controller.mqtt ~ MqttController: Connected to MQTT Broker !!! 2022-06-30T16:24:00.800+05:30 ~ WRN ~ controller.mqtt ~ Device is not connected to MQTT Broker !!! 2022-06-30T16:24:00.802+05:30 ~ INF ~ controller.mqtt ~ Subscribing to sensor/rtdata topic: false 2022-06-30T16:24:00.907+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost false 2022-06-30T16:24:00.910+05:30 ~ DBG ~ controller.mqtt ~ MQTT SSL Error: QMQTT::ClientError(SocketRemoteHostClosedError) isConnectedToHost false 2022-06-30T16:24:00.913+05:30 ~ INF ~ controller.mqtt ~ Disconnected from MQTT Broker !!! isConnectedToHost false