RxMQTTnet
4.3.56
Eine Erweiterung des MQTTNET -Projekts, um die Abonnements in Observable umzuwandeln und aus einem beobachtbaren Stream zu veröffentlichen.
Verwenden Sie die MQTTnet.MqttFactory mit den MQTTnet.Extensions.External.RxMQTT.Client.MqttFactoryExtensions .
var client = new MqttFactory ( ) . CreateRxMqttClient ( ) ; Verwenden Sie die verwalteten Kundenoptionen
await client . StartAsync ( options ) . ConfigureAwait ( false ) ; Holen Sie sich eine IObservable<MqttApplicationMessageReceivedEventArgs> , indem Sie eine Verbindung zum RX -Client herstellen und Erweiterungen verwenden, um die Nachricht zu verarbeiten:
var subscription = rxMqttClinet
. Connect ( "RxClientTest/#" )
. SelectPayload ( )
. Subscribe ( Console . WriteLine ) ;Beenden Sie das Abonnement, indem Sie das Abonnement entstellen.
subscription . Dispose ( ) ; Erstellen Sie eine beobachtbare Sequenz von MqttApplicationMessage S und veröffentlichen Sie diese über den RX -Client.
Observable . Interval ( TimeSpan . FromMilliseconds ( 1000 ) )
. Select ( i => new MqttApplicationMessageBuilder ( )
. WithTopic ( "RxClientTest" )
. WithPayload ( "Time: " + DateTime . Now . ToLongTimeString ( ) )
. WithQualityOfServiceLevel ( MqttQualityOfServiceLevel . ExactlyOnce )
. WithRetainFlag ( )
. Build ( ) )
. PublishOn ( mqttClient )
. Subscribe ( ) ; Verwenden Sie die MQTT Client Publish -Methode.