我使用m2mqtt来获取消息,但我不能单独订阅两个主题
我使用 client.Subscribe 订阅两个主题,并使用 client_MqttMsgPublishReceived(对象发件人,MqttMsgPublishEventArgs e) 得到消息
但两个主题的消息混合在一起。 有什么方法可以分开吗?
答案 0 :(得分:0)
客户端只提供一个用于接收消息的处理程序。您可以在MqttMsgPublishEventArgs中找到有关该主题的信息(有Topic属性)。对于您订阅的每个主题,具有不同处理程序的客户端没有意义(可能是不可能的,因为您不知道用户预先订阅了多少主题)。
答案 1 :(得分:0)
只需将if语句放入消息处理程序即可根据传入消息主题e.Topic
进行分支。
您始终可以编写函数来处理不同的消息类型,只需从消息处理程序中调用它们,并将MqttMsgPublishEventArgs
对象传递给这些函数。