From b3fa60f798c6719a787f8fafe0b7ad93690ad76b Mon Sep 17 00:00:00 2001 From: AeonLucid Date: Thu, 12 Nov 2020 03:05:37 +0100 Subject: [PATCH] Fixes #128 - MacOS does not support "DontFragment" --- .../Net/Redirector/NodeLocatorUDP.cs | 13 +++++++++---- .../Net/Redirector/NodeLocatorUDPService.cs | 13 +++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/Impostor.Server/Net/Redirector/NodeLocatorUDP.cs b/src/Impostor.Server/Net/Redirector/NodeLocatorUDP.cs index c0f881f..2539a8f 100644 --- a/src/Impostor.Server/Net/Redirector/NodeLocatorUDP.cs +++ b/src/Impostor.Server/Net/Redirector/NodeLocatorUDP.cs @@ -38,10 +38,15 @@ namespace Impostor.Server.Net.Redirector _logger.LogWarning("Node server will send updates to {0}.", endpoint); _server = endpoint; - _client = new UdpClient + _client = new UdpClient(); + + try + { + _client.DontFragment = true; + } + catch (SocketException) { - DontFragment = true - }; + } } } @@ -126,4 +131,4 @@ namespace Impostor.Server.Net.Redirector public bool Expired => LastUpdated < DateTimeOffset.UtcNow.AddHours(-1); } } -} \ No newline at end of file +} diff --git a/src/Impostor.Server/Net/Redirector/NodeLocatorUDPService.cs b/src/Impostor.Server/Net/Redirector/NodeLocatorUDPService.cs index e8e2676..3706bb4 100644 --- a/src/Impostor.Server/Net/Redirector/NodeLocatorUDPService.cs +++ b/src/Impostor.Server/Net/Redirector/NodeLocatorUDPService.cs @@ -30,10 +30,15 @@ namespace Impostor.Server.Net.Redirector throw new ArgumentException("UdpMasterEndpoint should be in the ip:port format."); } - _client = new UdpClient(endpoint) + _client = new UdpClient(endpoint); + + try { - DontFragment = true, - }; + _client.DontFragment = true; + } + catch (SocketException) + { + } } protected override async Task ExecuteAsync(CancellationToken stoppingToken) @@ -93,4 +98,4 @@ namespace Impostor.Server.Net.Redirector _logger.LogWarning("Master server node update listener is stopping."); } } -} \ No newline at end of file +} -- 2.39.5