一个客户端如何检查另一个客户端是否在python中连接到代理。

问题描述 投票:1回答:1

假设我有两个客户端ID为device1device2的客户端。在device1向经纪人发送发布消息之前,需要检查device2是否仍然连接到经纪人。如何从客户device2检查device1的连接性。

我正在使用mosquitto brokerpaho client

mqtt mosquitto paho
1个回答
2
投票

简而言之,您无法在MQTT协议级别执行此操作。

您可以做的最好的事情是使用状态主题。当客户端连接时,它会将有效负载true的保留消息发布到status/[client-id]这样的主题。在断开连接之前,将有效负载false发布到同一主题的消息。为了确保它被标记为离开,如果它崩溃,那么当经纪人注意到客户端不再响应ping时,你需要设置Last Will and Testament消息来发布false

© www.soinside.com 2019 - 2024. All rights reserved.