Python mqtt重新连接的正确语法是什么?

Python mqtt重新连接的正确语法是什么?,python,mqtt,Python,Mqtt,使用python、MOSQUITO(mqtt)库,编写mqtt reconnect命令的正确方法是什么 我在下面累了,但那不起作用。。。我错过什么了吗 mqttc = mosquitto.Mosquitto() mqttc.on_message = on_message mqttc.on_connect = on_connect mqttc.on_disconnect = on_disconnect mqttc.on_publish = on_publish mqttc.on_subscribe

使用python、MOSQUITO(mqtt)库,编写mqtt reconnect命令的正确方法是什么

我在下面累了,但那不起作用。。。我错过什么了吗

mqttc = mosquitto.Mosquitto()
mqttc.on_message = on_message
mqttc.on_connect = on_connect
mqttc.on_disconnect = on_disconnect
mqttc.on_publish = on_publish
mqttc.on_subscribe = on_subscribe

mqttc.reconnect_delay_set(120, 300, True)

mqttc.connect("test.mosquitto.org", 1883, 60)
mqttc.subscribe("/foo/bar", 0)

这需要更好的文档化,C库有一些文档,但Python模块没有

您的语法正确:

def reconnect_delay_set(self, delay, delay_max, exponential_backoff):
    ...
delay
是连续重新连接尝试之间等待的秒数。默认情况下,该值设置为1
delay_max
是重新连接尝试之间等待的最大秒数,默认情况下也设置为1。这意味着默认行为是每秒尝试重新连接

如果
delay\u max
大于
delay
,则
指数退避
起作用。从默认值设置为False开始,每次重新连接尝试失败时,使用的延迟将增加
delay
,最大值为
delay\u max
。因此,如果
delay=3
delay\u max=15
,那么您将得到3,9,12,15,15。。。换句话说,
延迟*重新连接\u故障
。一旦重新连接成功,延迟被重置

如果
指数回退
为真,则应将延迟设置为
延迟*重新连接故障^2
。在您的情况下,这将导致120、240、300、300


似乎在
指数_backoff=True
的情况下有一个额外的术语,因此实际上最终会得到300300的延迟。。。这将在即将发布的1.2.2版本中得到修复。

这需要更好的文档,C库有一些文档,但Python模块没有

您的语法正确:

def reconnect_delay_set(self, delay, delay_max, exponential_backoff):
    ...
delay
是连续重新连接尝试之间等待的秒数。默认情况下,该值设置为1
delay_max
是重新连接尝试之间等待的最大秒数,默认情况下也设置为1。这意味着默认行为是每秒尝试重新连接

如果
delay\u max
大于
delay
,则
指数退避
起作用。从默认值设置为False开始,每次重新连接尝试失败时,使用的延迟将增加
delay
,最大值为
delay\u max
。因此,如果
delay=3
delay\u max=15
,那么您将得到3,9,12,15,15。。。换句话说,
延迟*重新连接\u故障
。一旦重新连接成功,延迟被重置

如果
指数回退
为真,则应将延迟设置为
延迟*重新连接故障^2
。在您的情况下,这将导致120、240、300、300


似乎在
指数_backoff=True
的情况下有一个额外的术语,因此实际上最终会得到300300的延迟。。。这将在即将发布的1.2.2版本中得到修复。

这需要更好的文档,C库有一些文档,但Python模块没有

您的语法正确:

def reconnect_delay_set(self, delay, delay_max, exponential_backoff):
    ...
delay
是连续重新连接尝试之间等待的秒数。默认情况下,该值设置为1
delay_max
是重新连接尝试之间等待的最大秒数,默认情况下也设置为1。这意味着默认行为是每秒尝试重新连接

如果
delay\u max
大于
delay
,则
指数退避
起作用。从默认值设置为False开始,每次重新连接尝试失败时,使用的延迟将增加
delay
,最大值为
delay\u max
。因此,如果
delay=3
delay\u max=15
,那么您将得到3,9,12,15,15。。。换句话说,
延迟*重新连接\u故障
。一旦重新连接成功,延迟被重置

如果
指数回退
为真,则应将延迟设置为
延迟*重新连接故障^2
。在您的情况下,这将导致120、240、300、300


似乎在
指数_backoff=True
的情况下有一个额外的术语,因此实际上最终会得到300300的延迟。。。这将在即将发布的1.2.2版本中得到修复。

这需要更好的文档,C库有一些文档,但Python模块没有

您的语法正确:

def reconnect_delay_set(self, delay, delay_max, exponential_backoff):
    ...
delay
是连续重新连接尝试之间等待的秒数。默认情况下,该值设置为1
delay_max
是重新连接尝试之间等待的最大秒数,默认情况下也设置为1。这意味着默认行为是每秒尝试重新连接

如果
delay\u max
大于
delay
,则
指数退避
起作用。从默认值设置为False开始,每次重新连接尝试失败时,使用的延迟将增加
delay
,最大值为
delay\u max
。因此,如果
delay=3
delay\u max=15
,那么您将得到3,9,12,15,15。。。换句话说,
延迟*重新连接\u故障
。一旦重新连接成功,延迟被重置

如果
指数回退
为真,则应将延迟设置为
延迟*重新连接故障^2
。在您的情况下,这将导致120、240、300、300


似乎在
指数_backoff=True
的情况下有一个额外的术语,因此实际上最终会得到300300的延迟。。。这将在即将发布的1.2.2版本中修复。

Thx。是的,什么都找不到,所以我想我会在这里问一下,如果其他人需要这些信息,谷歌搜索就会找到。没想到