我尝试使用On-Behalf-Of订阅功能为mqtt客户端添加主题,并发现它仅适用于以下主题结构:
T1 / T2 / T3
T1 / T2 / T3 / *
但不适用于以下(通配符):
T1 / T2 / T3 />
T1 / T2 / T3 / +
我想知道如何为我的mqtt客户端添加多级主题订阅。
我使用的是sol-common 7.1.2.230和sol-jcsmp 7.1.2.230,而我的Solace设备版本是soltr_7.1.1.582。
谢谢。
答案 0 :(得分:1)
只有SMF客户端支持On-Behalf-Of订阅功能,因此只接受使用SMF语法的订阅主题。
使用SMF客户端管理MQTT客户端的订阅时,">"不允许使用通配符,因为没有MQTT等效项。 ">"通配符表示以下路径必须匹配1个或多个主题级别,而在MQTT中,"#"表示以下路径必须匹配0个或更多主题级别。
" +"通配符不起作用是因为它不是有效的SMF语法。
另一方面," *"通配符与" +"完全等效。 MQTT中的通配符。这就是" *"通配符有效。