Fix null ref exception in UWP TCP channel

This commit is contained in:
Christian Kratky
2017-09-26 20:00:35 +02:00
parent 50800b1d44
commit 98bafb1f26
@@ -22,6 +22,7 @@ namespace MQTTnet.Implementations
public MqttTcpChannel(StreamSocket socket)
{
_socket = socket ?? throw new ArgumentNullException(nameof(socket));
CreateStreams();
}
public Stream SendStream { get; private set; }
@@ -54,9 +55,7 @@ namespace MQTTnet.Implementations
await _socket.ConnectAsync(new HostName(options.Server), options.GetPort().ToString(), SocketProtectionLevel.Tls12);
}
SendStream = _socket.OutputStream.AsStreamForWrite();
ReceiveStream = _socket.InputStream.AsStreamForRead();
RawReceiveStream = ReceiveStream;
CreateStreams();
}
public Task DisconnectAsync()
@@ -80,6 +79,13 @@ namespace MQTTnet.Implementations
_socket = null;
}
private void CreateStreams()
{
SendStream = _socket.OutputStream.AsStreamForWrite();
ReceiveStream = _socket.InputStream.AsStreamForRead();
RawReceiveStream = ReceiveStream;
}
private static Certificate LoadCertificate(MqttClientOptions options)
{
if (options.TlsOptions.Certificates == null || !options.TlsOptions.Certificates.Any())