예제 #1
0
        private static async Task PublishFromApiTest()
        {
            Console.WriteLine($"{DateTime.Now:g} - Connecting API");
            var client = await Mqtt.GetClient($"api-{Guid.NewGuid().ToString().Substring(0, 8)}", Mqtt.Clients.Select(x => "a/" + x.Key).ToArray());

            var timer = new System.Timers.Timer {
                Interval = PublishingRateSec * 1000
            };

            timer.Elapsed += async(sender, args) =>
            {
                await Mqtt.Publish(client, Mqtt.GetRandomTopic());
            };

            timer.Start();
        }
예제 #2
0
        private static void StartRandomPublisher()
        {
            var publisher = Mqtt.GetPublisher();

            if (publisher == null)
            {
                return;
            }

            Console.WriteLine($"{DateTime.Now:g} - Starting Publisher {publisher.Value.Key}");
            var timer = new System.Timers.Timer {
                Interval = PublishingRateSec * 1000
            };

            timer.Elapsed += async(sender, args) =>
            {
                await Mqtt.Publish(publisher.Value.Value, $"a/{publisher.Value.Key}");
            };

            timer.Start();
        }