watson-iot 上的持久 MQTT 会话 (python
Durable MQTT session on watson-iot (python
如果订阅者应用程序断开一段时间(例如崩溃),是否可以获取所有丢失的事件?
我希望将 clean-session 设置为 true 来获得此行为,但它不起作用。这是我的代码:
import ibmiotf.application
options = {
"org": "org",
"id": "some-id",
"auth-method": "apikey",
"auth-key": "key",
"auth-token": "token",
"clean-session": False
}
client = ibmiotf.application.Client(options)
client.connect()
client.deviceEventCallback = eventCallback
client.subscribeToDeviceEvents(deviceType="deviceType")
谢谢!
您还需要发布 QoS1 或 QoS2 的消息,并设置
client.subscribeToDeviceEvents(deviceType="deviceType",qos=1)
基本上,您需要做的是:
clean_session =假,
发布和订阅 qos(服务质量)= 1
这样当订阅者重新连接时,您发布的消息将被接收。
可以在此处找到有关 watson-iot 消息传递的所有详细信息。
https://console.bluemix.net/docs/services/IoT/reference/mqtt/index.html#qos-levels
如果订阅者应用程序断开一段时间(例如崩溃),是否可以获取所有丢失的事件?
我希望将 clean-session 设置为 true 来获得此行为,但它不起作用。这是我的代码:
import ibmiotf.application
options = {
"org": "org",
"id": "some-id",
"auth-method": "apikey",
"auth-key": "key",
"auth-token": "token",
"clean-session": False
}
client = ibmiotf.application.Client(options)
client.connect()
client.deviceEventCallback = eventCallback
client.subscribeToDeviceEvents(deviceType="deviceType")
谢谢!
您还需要发布 QoS1 或 QoS2 的消息,并设置
client.subscribeToDeviceEvents(deviceType="deviceType",qos=1)
基本上,您需要做的是:
clean_session =假,
发布和订阅 qos(服务质量)= 1
这样当订阅者重新连接时,您发布的消息将被接收。
可以在此处找到有关 watson-iot 消息传递的所有详细信息。 https://console.bluemix.net/docs/services/IoT/reference/mqtt/index.html#qos-levels