iOS MQTT重新连接后无法接收消息。

5

我正在使用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
}

然而,在重新连接之后,我不再从服务器接收到任何消息。我检查了客户端的状态,发现它已连接。如何在重新连接后使应用程序能够接收到消息?

1个回答

3

通过将“clean session”标志更改为false,我自己解决了问题, 无需取消订阅主题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接