|
- using System;
- using Windows.UI.Core;
- using Windows.UI.Xaml;
- using MQTTnet.Core.Client;
- using MQTTnet.Core.Diagnostics;
-
- namespace MQTTnet.TestApp.UniversalWindows
- {
- public sealed partial class MainPage
- {
- private IMqttClient _mqttClient;
-
- public MainPage()
- {
- InitializeComponent();
-
- MqttTrace.TraceMessagePublished += OnTraceMessagePublished;
- }
-
- private async void OnTraceMessagePublished(object sender, MqttTraceMessagePublishedEventArgs e)
- {
- await Trace.Dispatcher.RunAsync(CoreDispatcherPriority.High, () =>
- {
- var text = $"[{DateTime.Now:O}] [{e.Level}] [{e.Source}] [{e.ThreadId}] [{e.Message}]{Environment.NewLine}";
- if (e.Exception != null)
- {
- text += $"{e.Exception}{Environment.NewLine}";
- }
-
- Trace.Text += text;
- });
- }
-
- private async void Connect(object sender, RoutedEventArgs e)
- {
- var options = new MqttClientOptions
- {
- Server = Server.Text,
- UserName = User.Text,
- Password = Password.Text,
- ClientId = ClientId.Text
- };
-
- options.TlsOptions.UseTls = UseTls.IsChecked == true;
-
- try
- {
- if (_mqttClient != null)
- {
- await _mqttClient.DisconnectAsync();
- }
-
- var factory = new MqttClientFactory();
- _mqttClient = factory.CreateMqttClient(options);
- await _mqttClient.ConnectAsync();
- }
- catch (Exception exception)
- {
- Trace.Text += exception + Environment.NewLine;
- }
- }
- }
- }
|