Как узнать IP-адрес клиента MQTT в node.js

Как узнать IP-адрес клиента MQTT при получении сообщения на стороне сервера. Я использую москитного брокера.


person raj peer    schedule 21.07.2017    source источник


Ответы (2)


TLDR; Вы не знаете.

Смысл протокола Pub/Sub, такого как MQTT, состоит в том, чтобы полностью разделить издателя и подписчика. Данное сообщение передается брокеру издателем, в этот момент он передает всю ответственность за это сообщение брокеру, который отправляет его клиентам, подписавшимся на тему, в которой оно было опубликовано.

В сообщении не содержится никакой информации (на уровне протокола MQTT) о том, откуда оно пришло, только тема и сохранено ли сообщение.

Если вам нужно узнать больше информации об издателе, вам нужно будет самостоятельно закодировать эту информацию в полезную нагрузку сообщения.

Я также рассмотрел большую часть этого в ответе на предыдущий вопрос.

person hardillb    schedule 21.07.2017

Чтобы получить IP-адрес клиента в MQTT, вы должны сами поместить его в тело сообщения.

Если вы используете mosquito с nodejs, вы можете получить IP-адрес клиента через сетевые интерфейсы узла или другие модули узла, например здесь:
Как я могу получить локальный IP-адрес в Node.js?

person No and No    schedule 21.07.2017