If I connect Mosquitto broker to a Nordred broker, is there a way to know the entire structure of Mosquito clients?
or is there a way to know the client topic structure of Moschito broker?
I am asking you this question because I am investigating whether there is a way to see the entire node structure and the entire topic structure at a glance.
There is nothing like a "Node-RED Broker"
Node-RED MQTT is a client that can connect to one (or multiple) broker(s) and perform usual operations like subscribe and publish.
There is no way for a client to know the entire MQTT topic structure as most of this is dynamic.
A client could subscribe to /# and build a data base from there while receiving messages but there is no structure that can be requested.
Node-RED has the same access to information from the broker as any other MQTT client.
That means the only way to see what topics messages are being published on is to subscribe to the wildcard topic # and assuming it has the right access rights in the ACL it will see every message published. But there is no way to know what clients published what messages as that information is not included in the messages.
There is a MQTT broker node (node-red-contrib-aedes) that runs a MQTT broker actually in Node-RED that can provide some more information, I would not recommend using this for anything other than low volume local testing.
The important thing to remember is that there is no static topic structure, the broker does not keep track of what has been published.
The process is as follows:
Client publishes a message on a given topic
The broker receives this message and then checks it against the list of topic patterns (not topics, but patterns as they might include wildcards) that each client has sent to the broker
For each matching pattern the broker sends the message to the client with that pattern
It does not keep a list of all topics in use.
The Aedes broker node outputs events for published messages, you could use that the same way as subscribing to '#' but you will still need to build the topic tree based on published messages, there is no magic way to get it all at once, because that information just doesn't exist in the broker.