我正在vb.net中创建一个应用程序,我需要从mosqitto mqtt代理接收mqtt消息并将其发送到mosqitto mqtt代理,该连接和发送工作正常,但是对于接收消息,我找不到任何代码。
我正在使用M2Mqtt库中的一些翻译后的代码(文档在c#中)。
我也尝试了其他库,但是找不到接收这些消息的方法。
我在具有相同库的Xamarin Android应用程序(c#)中使用了相同的概念,并且可以正常工作。
这是连接到物联网(在本例中为sonoff)并关闭它的代码:
Dim client As MqttClient = New MqttClient("broker.chtulhu.org")
Dim clientId As String = Guid.NewGuid().ToString()
client.Connect(clientId)
client.Subscribe(New String() {"/home/sonoff"}, New Byte() {MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE})
client.Publish("/home/sonoff/1/cmnd/", Encoding.UTF8.GetBytes("0"), MqttMsgBase.QOS_LEVEL_AT_LEAST_ONCE, False)
这是接收消息并将其传递给一个简单的子代码进行打印的代码:
AddHandler client.MqttMsgPublishReceived, AddressOf client_MqttMsgPublishReceived(client.MqttMsgPublishReceived)