如何在服务器端接收消息时知道MQTT客户端的IP地址。我正在使用蚊子经纪人。
答案 0 :(得分:1)
TLDR;你没有。
像MQTT这样的Pub / Sub协议的目的是完全解耦发布者和订阅者。发布者将给定的消息传递给代理,此时它将该消息的所有责任交给代理,代理将其发送给订阅其发布主题的客户端。
消息(在MQTT协议级别)中没有关于它来自哪里,只有主题以及它是否是保留消息的信息。
如果您需要了解有关发布者的更多信息,则需要自己将该信息编码到消息有效内容中。
我在前一个问题的answer中也涵盖了大部分内容。
答案 1 :(得分:-1)
要在MQTT中获取客户端的IP地址,您必须将其自己放入消息正文中。
如果您使用带有nodejs的mosquito,您可以通过节点网络接口或其他节点模块获取客户端IP,例如: How can I get the local IP address in Node.js?