paho.mqtt找出是谁发送了有效负载

paho.mqtt find out who sent the payload

我正在尝试将 paho.mqtt 用于 python (project pages),并且一切正常。我遇到的唯一问题是,我会发现找出消息发送者非常有用。我查找了源代码,但如果在 on_message 中传递的 client 变量是我用来连接的客户端或发布消息的客户端的详细信息(我是猜测这是第一个选项)。

所以问题是 - 是否有可能找出谁(用户名)发送了消息?

MQTT 协议被设计为尽可能轻量,这意味着消息 header 包含将消息传递到特定主题的绝对最低限度。 header 中没有其他空间。

MQTT 也是一种Pub/Sub 协议,此类协议的一个关键特性是尽可能将发布者与订阅者解耦。这意味着发布者不应该关心有多少订阅者,订阅者也不应该关心信息来自哪里,只要它是它感兴趣的主题即可。

如果您需要除消息主题之外的任何更多信息,则必须自行将其添加到负载中。