Closed maxwang789 closed 7 months ago
That seems to be a feature that inherently violates the MQTT spec. Every client that has a subscription to a given Topic must get every (QoS dependent) message sent to this Topic.
The MQTT 5 spec adds a request/response mechanism that explains how to send a message to a specific client, by negotiating a private Topic for this client.
That seems to be a feature that inherently violates the MQTT spec. Every client that has a subscription to a given Topic must get every (QoS dependent) message sent to this Topic.
The MQTT 5 spec adds a request/response mechanism that explains how to send a message to a specific client, by negotiating a private Topic for this client.
Yes, MQTT v5 add new mechanism. But it needs publisher and subscriber support new fields and new behaviors. Sometime old equipment just uses MQTT as transport layer, it won't upgrade to MQTTv5.
And this modification is intended to be used in embedded server only, it won't change mqtt protocol or other behavior outside broker.
The original request is that one request will be sent to topic "/request", but the response should be sent back on another topic "/response". With these modifications, the embedding broker could distinguish all connections.
Correct me if I'm wrong.