笔者在桌面WPF项目中使用MQTTNet在nuget的最新发布版本3.0.16,并参考 https://gitee.com/sesametech-group/MqttNetSln 示例。
在使用时的问题汇总如下:
1. Subcribe\Publish异步方法需要使用跨线程调用(使用Invoke或在时钟线程调用)
2. Subcribe必须在Connected事件中执行
3. 必须使用MqttnetClient 而不能使用 ManagedMqttnetClient,后者的事件不会被触发
4. 必须使用 UseApplicationMessageReceivedHandler 方法而不能使用 IMqttApplicationMessageReceivedHandler 实例,后者的事件在第1次事件发生时触发1次