当要制作mqtt客户端的时候,不仅仅要导入MQTTnet,还要导入MQTTnet.Extensions.ManagedClient,还有该插件作者比较任性,新版本不兼容老版本。现在的测试代码是基于3.11实现。
IManagedMqttClient mqttClient = new MqttFactory().CreateManagedMqttClient();
MqttClientOptionsBuilder optionsBuilder = new MqttClientOptionsBuilder();
optionsBuilder.WithClientId(Guid.NewGuid().ToString());//MQTT的id
optionsBuilder.WithTcpServer("127.0.0.1", 1883);//IP地址和端口号
ManagedMqttClientOptionsBuilder mqttClientOptionsBuilder = new ManagedMqttClientOptionsBuilder();
mqttClientOptionsBuilder.WithClientOptions(optionsBuilder);
IManagedMqttClientOptions mqttClientOptions = mqttClientOptionsBuilder.Build();
mqttClient.StartAsync(mqttClientOptions);
mqttClient.SubscribeAsync("yy");//订阅主题
mqttClient.ApplicationMessageReceivedHandler = new MqttApplicat