m2mqtt如何订阅两个主题

时间:2017-07-25 10:05:01

标签: c# mqtt

我使用m2mqtt来获取消息,但我不能单独订阅两个主题

我使用 client.Subscribe 订阅两个主题,并使用 client_MqttMsgPublishReceived(对象发件人,MqttMsgPublishEventArgs e) 得到消息

但两个主题的消息混合在一起。 有什么方法可以分开吗?

2 个答案:

答案 0 :(得分:0)

客户端只提供一个用于接收消息的处理程序。您可以在MqttMsgPublishEventArgs中找到有关该主题的信息(有Topic属性)。对于您订阅的每个主题,具有不同处理程序的客户端没有意义(可能是不可能的,因为您不知道用户预先订阅了多少主题)。

答案 1 :(得分:0)

只需将if语句放入消息处理程序即可根据传入消息主题e.Topic进行分支。

您始终可以编写函数来处理不同的消息类型,只需从消息处理程序中调用它们,并将MqttMsgPublishEventArgs对象传递给这些函数。