2015-06-20 43 views
0

據我的理解,當消息發佈到某個主題時,它只會被當前訂閱該主題的客戶端接收。如果客戶在消息發佈後出現,它將不會收到該消息。趕上錯過的消息

假設客戶端暫時斷開連接,是否有辦法幫助客戶端在錯過連接時錯過消息?

感謝

回答

2

如果客戶端訂閱一個話題,然後給經紀人的連接斷開,客戶端將需要重新連接。

只要客戶端在連接上設置cleanSession = false標誌並重新訂閱相同的主題,代理應該重播任何遺漏的消息。

一個長期訂閱的更詳細的描述可以在這裏找到:

http://www.hivemq.com/mqtt-essentials-part-7-persistent-session-queuing-messages/

這裏:

http://www.thingsprime.com/?p=2897

+0

的Thingsprime鏈接有點過時,因爲現在所有的三個提到的經紀人正確支持排隊的消息。仍然是一個有用的資源,但 –

+0

跟進答案,建議的解決方案和請求反饋:https://stackoverflow.com/questions/46229861/mqtt-catch-up-missed-messages-looking-for-feedback-on-design-假設 –