mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-20 03:24:33 +08:00
Refactor session and connection handling in server. Fix QoS level 2 issues.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:server="using:MQTTnet.Server"
|
||||
xmlns:status="using:MQTTnet.Server.Status"
|
||||
d:DesignHeight="800"
|
||||
d:DesignWidth="800"
|
||||
mc:Ignorable="d">
|
||||
@@ -228,7 +229,7 @@
|
||||
|
||||
<ListView ItemsSource="{Binding}" x:Name="ListViewSessions">
|
||||
<ListView.ItemTemplate>
|
||||
<DataTemplate x:DataType="server:IMqttClientSessionStatus">
|
||||
<DataTemplate x:DataType="status:IMqttClientStatus">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<StackPanel.Resources>
|
||||
<Style TargetType="TextBlock">
|
||||
@@ -237,11 +238,10 @@
|
||||
</StackPanel.Resources>
|
||||
<TextBlock Text="{Binding ClientId}"></TextBlock>
|
||||
<TextBlock Text="{Binding Endpoint}"></TextBlock>
|
||||
<TextBlock Text="{Binding IsConnected}"></TextBlock>
|
||||
<TextBlock Text="{Binding LastPacketReceived}"></TextBlock>
|
||||
<TextBlock Text="{Binding LastNonKeepAlivePacketReceived}"></TextBlock>
|
||||
<TextBlock Text="{Binding ProtocolVersion}"></TextBlock>
|
||||
<TextBlock Text="{Binding PendingApplicationMessagesCount}"></TextBlock>
|
||||
<TextBlock Text="{Binding Session}"></TextBlock>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListView.ItemTemplate>
|
||||
|
||||
@@ -16,6 +16,7 @@ using MQTTnet.Formatter;
|
||||
using MQTTnet.Implementations;
|
||||
using MQTTnet.Protocol;
|
||||
using MQTTnet.Server;
|
||||
using MQTTnet.Server.Status;
|
||||
using MqttClientConnectedEventArgs = MQTTnet.Client.Connecting.MqttClientConnectedEventArgs;
|
||||
using MqttClientDisconnectedEventArgs = MQTTnet.Client.Disconnecting.MqttClientDisconnectedEventArgs;
|
||||
|
||||
@@ -24,7 +25,7 @@ namespace MQTTnet.TestApp.UniversalWindows
|
||||
public sealed partial class MainPage
|
||||
{
|
||||
private readonly ConcurrentQueue<MqttNetLogMessage> _traceMessages = new ConcurrentQueue<MqttNetLogMessage>();
|
||||
private readonly ObservableCollection<IMqttClientSessionStatus> _sessions = new ObservableCollection<IMqttClientSessionStatus>();
|
||||
private readonly ObservableCollection<IMqttClientStatus> _sessions = new ObservableCollection<IMqttClientStatus>();
|
||||
|
||||
private IMqttClient _mqttClient;
|
||||
private IManagedMqttClient _managedMqttClient;
|
||||
@@ -450,7 +451,7 @@ namespace MQTTnet.TestApp.UniversalWindows
|
||||
return;
|
||||
}
|
||||
|
||||
var sessions = _mqttServer.GetClientSessionsStatusAsync().GetAwaiter().GetResult();
|
||||
var sessions = _mqttServer.GetClientStatusAsync().GetAwaiter().GetResult();
|
||||
_sessions.Clear();
|
||||
|
||||
foreach (var session in sessions)
|
||||
|
||||
Reference in New Issue
Block a user