假设我有两个客户端ID为device1
和device2
的客户端。在device1
向经纪人发送发布消息之前,需要检查device2
是否仍然连接到经纪人。如何从客户device2
检查device1
的连接性。
我正在使用mosquitto broker
和paho client
简而言之,您无法在MQTT协议级别执行此操作。
您可以做的最好的事情是使用状态主题。当客户端连接时,它会将有效负载true
的保留消息发布到status/[client-id]
这样的主题。在断开连接之前,将有效负载false
发布到同一主题的消息。为了确保它被标记为离开,如果它崩溃,那么当经纪人注意到客户端不再响应ping时,你需要设置Last Will and Testament消息来发布false
。