2016-04-20 45 views
0

在MQTT中,客戶端可以訂閱主題名稱或主題通配符。可以使用相同的通配符將消息發佈到主題或某些主題。但是如何將消息發佈到一些相互獨立的話題?我需要修改MQTT協議嗎?MQTT - 向許多獨立主題發佈消息

例如:我的服務器處理來自10個客戶端(這些客戶端彼此不相關)的連接,它們與ids:client1,client2,...,client10和client1想要發送消息給任意數量的客戶端(例如客戶端3,客戶端7,client8)

感謝

回答

2

只能發佈到一個特定的主題,而不是一個通配符主題或客戶端ID。

訂閱可以是通配符或特定主題。

多個客戶端可以訂閱相同的主題,所以如果你想發送消息給一組客戶端,那麼你只需要選擇一個他們都訂閱的主題。或者沒有什麼可以阻止你將相同的信息按順序發佈到多個主題上。

+0

謝謝,我解決了這個問題。客戶可以按順序將消息發佈到多個主題,但服務器需要處理許多傳入消息,而不是僅消息一個消息 – Ikarus

+0

除非您以令人難以置信的高速率發佈消息,否則這不會成爲問題 – hardillb

+1

例如:我曾與GCM(Google Cloud Messaging)合作過,它允許向1000個設備發送消息。如果我使用MQTT構建類似於GCM的應用程序,當客戶端想要向1000個設備發送消息時,它需要發送1000個具有相同內容的獨立消息,並且服務器需要處理1000個傳入消息(想象一下,如果它們是tls消息)。這是一個很大的開銷嗎? – Ikarus

相關問題