ApplicationMessageProcessed event is not firing in

2019-06-11 09:10发布

MQTTnet is a high performance .NET library for MQTT based communication.

This is GitHub Link. https://github.com/chkr1011/MQTTnet . It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.

This is how I have created managed MQTT client. Here is the link https://github.com/chkr1011/MQTTnet/wiki/ManagedClient

    // Setup and start a managed MQTT client.
    var options = new ManagedMqttClientOptionsBuilder()
     .WithAutoReconnectDelay(TimeSpan.FromSeconds(5))
     .WithClientOptions(new MqttClientOptionsBuilder()
     .WithClientId("Client1")
     .WithTcpServer("broker.hivemq.com")
     .WithTls().Build())
     .Build();


    this.mqttClient = new MqttFactory().CreateManagedMqttClient(new MqttNetLogger("IDMQTTManagedPublisher"));
    await this.mqttClient.SubscribeAsync(new TopicFilterBuilder().WithTopic("RequestTopic").Build());
    SubscribeToApplicationMessageReceived();
    await this.mqttClient.StartAsync(options);

Subscription to ApplicationMessageProcessed event

  private void SubscribeToApplicationMessageProcessed()
  {
    this.mqttClient.ApplicationMessageProcessed += (s, e) =>
    {


    };
  }

Message sending code

      var messagePayload = new MqttApplicationMessageBuilder()
        .WithTopic("RequestTopic")
        .WithPayload(message)
        .WithExactlyOnceQoS()
        .WithRetainFlag()
        .Build();

        await mqttClient.PublishAsync(messagePayload);

But ApplicationMessageProcessed event is not firing in managed MQTTnet client

标签: c# mqtt
0条回答
登录 后发表回答