Add support for disabling server endpoints (ipv4 or ipv6)

This commit is contained in:
Christian Kratky
2018-07-04 22:20:02 +02:00
parent 35300abfb5
commit 2b420b8e66
@@ -1,6 +1,7 @@
#if !WINDOWS_UWP #if !WINDOWS_UWP
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net;
using System.Net.Sockets; using System.Net.Sockets;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
using System.Threading; using System.Threading;
@@ -79,27 +80,33 @@ namespace MQTTnet.Implementations
private void RegisterListeners(MqttServerTcpEndpointBaseOptions options, X509Certificate2 tlsCertificate) private void RegisterListeners(MqttServerTcpEndpointBaseOptions options, X509Certificate2 tlsCertificate)
{ {
var listenerV4 = new MqttTcpServerListener( if (!options.BoundInterNetworkAddress.Equals(IPAddress.None))
AddressFamily.InterNetwork, {
options, var listenerV4 = new MqttTcpServerListener(
tlsCertificate, AddressFamily.InterNetwork,
_cancellationTokenSource.Token, options,
_logger); tlsCertificate,
_cancellationTokenSource.Token,
_logger);
listenerV4.ClientAccepted += OnClientAccepted; listenerV4.ClientAccepted += OnClientAccepted;
listenerV4.Start(); listenerV4.Start();
_listeners.Add(listenerV4); _listeners.Add(listenerV4);
}
var listenerV6 = new MqttTcpServerListener( if (!options.BoundInterNetworkV6Address.Equals(IPAddress.None))
AddressFamily.InterNetworkV6, {
options, var listenerV6 = new MqttTcpServerListener(
tlsCertificate, AddressFamily.InterNetworkV6,
_cancellationTokenSource.Token, options,
_logger); tlsCertificate,
_cancellationTokenSource.Token,
_logger);
listenerV6.ClientAccepted += OnClientAccepted; listenerV6.ClientAccepted += OnClientAccepted;
listenerV6.Start(); listenerV6.Start();
_listeners.Add(listenerV6); _listeners.Add(listenerV6);
}
} }
private void OnClientAccepted(object sender, MqttServerAdapterClientAcceptedEventArgs e) private void OnClientAccepted(object sender, MqttServerAdapterClientAcceptedEventArgs e)