Swift MQTT libmosquitto cleanSession 设置为 false 但无法设置持久订阅
Swift MQTT libmosquitto cleanSession set to false yet unable to set up a persistent subscription
client = MosquittoClient(clientId: "client1")
client?.delegate = self
client?.port = 1883
client?.host = "someIPAddress"
client!.cleanSession = false
client?.connect()
libmosquitto 是一个桥接到 swift 项目中的 objective c 库。所以在将 cleanSession 设置为 false 后,我仍然无法设置持久订阅或在离线时接收消息。
设置 cleanSession = false 不会完成你的工作..如果你想在重新连接后收到消息,它将需要 QOS..
默认消息和订阅的qos为0,不保证消息一定会送到离线客户端..
你需要做两件事:
1. 订阅主题时订阅QOS 1或2.
2.当你发布一条你想传递给离线客户端的消息时,用qos 1或2发送。
Nd 也使用相同的客户端 ID 进行连接。如果您希望在发布消息时使用 retain=true 的新客户端也收到消息
client = MosquittoClient(clientId: "client1")
client?.delegate = self
client?.port = 1883
client?.host = "someIPAddress"
client!.cleanSession = false
client?.connect()
libmosquitto 是一个桥接到 swift 项目中的 objective c 库。所以在将 cleanSession 设置为 false 后,我仍然无法设置持久订阅或在离线时接收消息。
设置 cleanSession = false 不会完成你的工作..如果你想在重新连接后收到消息,它将需要 QOS..
默认消息和订阅的qos为0,不保证消息一定会送到离线客户端..
你需要做两件事:
1. 订阅主题时订阅QOS 1或2.
2.当你发布一条你想传递给离线客户端的消息时,用qos 1或2发送。
Nd 也使用相同的客户端 ID 进行连接。如果您希望在发布消息时使用 retain=true 的新客户端也收到消息