MQTT订阅时,No Local Flag(NL)是一个可选的标志位,用于控制消息的分发方式。当设置了No Local Flag后,订阅者不会收到自己发布的消息。
那如果我是一个emqx的共享订阅,期望实现类似的效果,即这个组不会接收到组内任意一个成员发布的消息,有没有什么办法实现?
我尝试过发现共享订阅时,再设置NL标志,这个是会产生冲突报错的。
MQTT订阅时,No Local Flag(NL)是一个可选的标志位,用于控制消息的分发方式。当设置了No Local Flag后,订阅者不会收到自己发布的消息。
那如果我是一个emqx的共享订阅,期望实现类似的效果,即这个组不会接收到组内任意一个成员发布的消息,有没有什么办法实现?
我尝试过发现共享订阅时,再设置NL标志,这个是会产生冲突报错的。
MQTT 5.0 协议规范:在共享订阅上设置 no_local 将导致协议错误。
[MQTT-3.8.3-4] It is a Protocol Error to set the No Local bit to 1 on a Shared Subscription.