Ver a proveniência

Fix broken UWP support.

release/3.x.x
Christian há 6 anos
ascendente
cometimento
84dab18c2a
2 ficheiros alterados com 14 adições e 5 eliminações
  1. +9
    -2
      Frameworks/MQTTnet.NetStandard/Implementations/MqttTcpChannel.Uwp.cs
  2. +5
    -3
      Frameworks/MQTTnet.NetStandard/Implementations/MqttTcpServerAdapter.Uwp.cs

+ 9
- 2
Frameworks/MQTTnet.NetStandard/Implementations/MqttTcpChannel.Uwp.cs Ver ficheiro

@@ -37,6 +37,8 @@ namespace MQTTnet.Implementations
public MqttTcpChannel(StreamSocket socket)
{
_socket = socket ?? throw new ArgumentNullException(nameof(socket));

CreateStreams();
}

public static Func<MqttClientTcpOptions, IEnumerable<ChainValidationResult>> CustomIgnorableServerCertificateErrorsResolver { get; set; }
@@ -65,8 +67,7 @@ namespace MQTTnet.Implementations
await _socket.ConnectAsync(new HostName(_options.Server), _options.GetPort().ToString(), SocketProtectionLevel.Tls12);
}

_readStream = _socket.InputStream.AsStreamForRead(_bufferSize);
_writeStream = _socket.OutputStream.AsStreamForWrite(_bufferSize);
CreateStreams();
}

public Task DisconnectAsync()
@@ -177,6 +178,12 @@ namespace MQTTnet.Implementations

return result;
}

private void CreateStreams()
{
_readStream = _socket.InputStream.AsStreamForRead(_bufferSize);
_writeStream = _socket.OutputStream.AsStreamForWrite(_bufferSize);
}
}
}
#endif

+ 5
- 3
Frameworks/MQTTnet.NetStandard/Implementations/MqttTcpServerAdapter.Uwp.cs Ver ficheiro

@@ -26,10 +26,14 @@ namespace MQTTnet.Implementations
if (options == null) throw new ArgumentNullException(nameof(options));

if (_defaultEndpointSocket != null) throw new InvalidOperationException("Server is already started.");
if (options.DefaultEndpointOptions.IsEnabled)
{
_defaultEndpointSocket = new StreamSocketListener();

// This also affects the client sockets.
_defaultEndpointSocket.Control.NoDelay = true;

await _defaultEndpointSocket.BindServiceNameAsync(options.GetDefaultEndpointPort().ToString(), SocketProtectionLevel.PlainSocket);
_defaultEndpointSocket.ConnectionReceived += AcceptDefaultEndpointConnectionsAsync;
}
@@ -62,8 +66,6 @@ namespace MQTTnet.Implementations
{
try
{
args.Socket.Control.NoDelay = true;

var clientAdapter = new MqttChannelAdapter(new MqttTcpChannel(args.Socket), new MqttPacketSerializer(), _logger);
ClientAccepted?.Invoke(this, new MqttServerAdapterClientAcceptedEventArgs(clientAdapter));
}


Carregando…
Cancelar
Guardar