iOS MQTT 重连后收不到消息

iOS MQTT do not receive message after reconnection

我正在使用 MQTT-Client-Framework 开发 iOS 应用程序。 该应用程序在首次启动时成功与服务器通信。

但是我把它调到后台再回到前台后,就再也收不到MQTT服务器的消息了。

每次应用退出活动状态并变为活动状态时,我都会使用新的 Mqtt 对象(不同的客户端 ID)进行重新连接:

func applicationWillResignActive(_ application: UIApplication) {
    //Unsubscribe topic, disconnect the mqtt client, and close the client
}
func applicationDidBecomeActive(_ application: UIApplication) {
    //Renew mqtt client, set delegate, reconnect to server and subscribe topic
}

但是,在重新连接后,我不再收到来自服务器的任何消息。我检查了客户端状态,它已连接。如何让应用重连后接收消息?

通过将干净会话标志更改为 false 来修复我自己 不需要退订话题