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;
@@ -78,6 +79,8 @@ namespace MQTTnet.Implementations
} }
private void RegisterListeners(MqttServerTcpEndpointBaseOptions options, X509Certificate2 tlsCertificate) private void RegisterListeners(MqttServerTcpEndpointBaseOptions options, X509Certificate2 tlsCertificate)
{
if (!options.BoundInterNetworkAddress.Equals(IPAddress.None))
{ {
var listenerV4 = new MqttTcpServerListener( var listenerV4 = new MqttTcpServerListener(
AddressFamily.InterNetwork, AddressFamily.InterNetwork,
@@ -89,7 +92,10 @@ namespace MQTTnet.Implementations
listenerV4.ClientAccepted += OnClientAccepted; listenerV4.ClientAccepted += OnClientAccepted;
listenerV4.Start(); listenerV4.Start();
_listeners.Add(listenerV4); _listeners.Add(listenerV4);
}
if (!options.BoundInterNetworkV6Address.Equals(IPAddress.None))
{
var listenerV6 = new MqttTcpServerListener( var listenerV6 = new MqttTcpServerListener(
AddressFamily.InterNetworkV6, AddressFamily.InterNetworkV6,
options, options,
@@ -101,6 +107,7 @@ namespace MQTTnet.Implementations
listenerV6.Start(); listenerV6.Start();
_listeners.Add(listenerV6); _listeners.Add(listenerV6);
} }
}
private void OnClientAccepted(object sender, MqttServerAdapterClientAcceptedEventArgs e) private void OnClientAccepted(object sender, MqttServerAdapterClientAcceptedEventArgs e)
{ {