public BusClient(IOptions <MqttBrokerSettings> options, ILogger <BusClient> logger, IMqttClientFactory mqttClientFactory) { _settings = options.Value; //var factory = new MqttFactory(); _mqttClient = mqttClientFactory.CreateMqttClient(); _logger = logger; }
public static void AddHostedMqttClient(this IServiceCollection services, IConfiguration configuration) { var clientSettings = new MqttClientSettings(); var brokerSettings = new MqttBrokerSettings(); configuration.GetSection(nameof(MqttClientSettings)).Bind(clientSettings); configuration.GetSection(nameof(MqttBrokerSettings)).Bind(brokerSettings); services.AddConfiguredMqttClientService(optionBuilder => { optionBuilder .WithAutoReconnectDelay(TimeSpan.FromSeconds(20)) .WithClientOptions(new MqttClientOptionsBuilder() .WithClientId(clientSettings.Id) .WithCredentials(clientSettings.UserName, clientSettings.Password) .WithTcpServer(brokerSettings.Host, brokerSettings.Port) .Build()); }); //services.AddTransient<BrokerCommands>(); }
public BusSubscriber(IOptions <MqttBrokerSettings> options, ILogger <BusSubscriber> logger, IMqttClientFactory mqttClientFactory) { _settings = options.Value; _logger = logger; _mqttClient = mqttClientFactory.CreateMqttClient(); }