我有這個應用程序使用mqtt-client java library通過mqtt連接到ActiveMQ代理。只要我的主題沒有正斜槓(/),訂閱,發佈和接收郵件就可以正常工作。如何在mqtt主題中轉義特殊字符(正斜槓)?
據我所知,正斜槓是mqtt中的特殊字符,按照activemq mqtt support"/"
將被轉換爲"."
。但是,就我而言,我需要連接到使用JMS創建的主題,這些主題是以uri編寫的(例如http://activemq.apache.org/),因此它們的名稱上會有「/」。
無論如何要在mqtt上尋找"/"
?目前,如果我嘗試連接到一個叫http://activemq.apache.org/
話題,將在事實上連接到http:..activemq.apache.org.
你無法逃避的「 /「在mqtt上,我不知道該怎麼建議。 – ralight
這確實需要熟悉activemq實現的人來回答。你的問題源於他們如何選擇重寫主題 - 似乎沒有選擇阻止它這樣做。如果你在這裏沒有得到有用的迴應,你應該嘗試通過一個activemq支持渠道。 – knolleary
@knolleary我檢查了他們的[source](https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob;f=activemq-mqtt/src/main/java/ org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java; h = ac598e7c38825b88c233de52b5b81f205797f737; hb = a63a8320eabbe4e988b6d67eb6cf84aa0d294e0a),它們將「/」替換爲「。」。你是否偶然地知道,如果按照mqtt標準,mqtt是否應該接受以「/」命名的主題?如果是這樣的話,我可能會嘗試推動經紀人來源的改變(或者自己改變它),否則我不應該試圖說服它在這裏不使用這樣的主題名稱 – Thomas