From 79d95c85161b812ce51776b30a989abaa4f036dd Mon Sep 17 00:00:00 2001 From: Gen Date: Mon, 13 Apr 2020 03:04:44 -0700 Subject: [PATCH 1/3] Fix hanging issue under UWP. --- Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs b/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs index cb0f71c2..44af1fdf 100644 --- a/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs +++ b/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs @@ -64,7 +64,8 @@ namespace MQTTnet.Implementations if (_options.TlsOptions?.UseTls != true) { - await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString()); + var asyncAction = _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString()); + await asyncAction; } else { @@ -85,7 +86,8 @@ namespace MQTTnet.Implementations socketProtectionLevel = SocketProtectionLevel.Tls10; } - await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString(), socketProtectionLevel); + var asyncAction = _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString(), socketProtectionLevel); + await asyncAction; } Endpoint = _socket.Information.RemoteAddress + ":" + _socket.Information.RemotePort; From 2b2b30912c96ad25cd7283678e57bf5ab78a7026 Mon Sep 17 00:00:00 2001 From: Gen Date: Tue, 14 Apr 2020 07:37:23 -0700 Subject: [PATCH 2/3] Configure context. --- Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs b/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs index 44af1fdf..a414fd7b 100644 --- a/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs +++ b/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs @@ -64,8 +64,7 @@ namespace MQTTnet.Implementations if (_options.TlsOptions?.UseTls != true) { - var asyncAction = _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString()); - await asyncAction; + await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString()).AsTask().ConfigureAwait(false); } else { @@ -86,8 +85,7 @@ namespace MQTTnet.Implementations socketProtectionLevel = SocketProtectionLevel.Tls10; } - var asyncAction = _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString(), socketProtectionLevel); - await asyncAction; + await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString()).AsTask().ConfigureAwait(false); } Endpoint = _socket.Information.RemoteAddress + ":" + _socket.Information.RemotePort; From 4e6658e0146822385c2d65f38d42b045ea9bc61f Mon Sep 17 00:00:00 2001 From: Gen Date: Tue, 14 Apr 2020 09:36:02 -0700 Subject: [PATCH 3/3] Fix typo. --- Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs b/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs index a414fd7b..fde169b8 100644 --- a/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs +++ b/Source/MQTTnet/Implementations/MqttTcpChannel.Uwp.cs @@ -85,7 +85,7 @@ namespace MQTTnet.Implementations socketProtectionLevel = SocketProtectionLevel.Tls10; } - await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString()).AsTask().ConfigureAwait(false); + await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString(), socketProtectionLevel).AsTask().ConfigureAwait(false); } Endpoint = _socket.Information.RemoteAddress + ":" + _socket.Information.RemotePort;