diff --git a/src/MiNET/MiNET.Console/Startup.cs b/src/MiNET/MiNET.Console/Startup.cs index 3b27caab2..b89ec65bc 100644 --- a/src/MiNET/MiNET.Console/Startup.cs +++ b/src/MiNET/MiNET.Console/Startup.cs @@ -23,12 +23,12 @@ #endregion -using System; using System.Diagnostics; using System.IO; using System.Net; using System.Net.Sockets; using System.Reflection; +using System.Runtime.InteropServices; using System.Threading; using log4net; using log4net.Config; @@ -61,12 +61,15 @@ static void Main(string[] args) Log.Info(MiNetServer.MiNET); System.Console.WriteLine(MiNetServer.MiNET); - var currentProcess = Process.GetCurrentProcess(); - - var processorAffinity = Config.GetProperty("ProcessorAffinity", -1); - if (processorAffinity != -1) + if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - currentProcess.ProcessorAffinity = processorAffinity; + var currentProcess = Process.GetCurrentProcess(); + + var processorAffinity = Config.GetProperty("ProcessorAffinity", -1); + if (processorAffinity != -1) + { + currentProcess.ProcessorAffinity = processorAffinity; + } } var service = new MiNetServer(); diff --git a/src/MiNET/MiNET/Net/RakNet/RakConnection.cs b/src/MiNET/MiNET/Net/RakNet/RakConnection.cs index 81a15d83a..25cf08fa6 100644 --- a/src/MiNET/MiNET/Net/RakNet/RakConnection.cs +++ b/src/MiNET/MiNET/Net/RakNet/RakConnection.cs @@ -31,6 +31,7 @@ using System.Net; using System.Net.Sockets; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using System.Threading; using System.Threading.Tasks; using log4net; @@ -204,15 +205,14 @@ private static UdpClient CreateListener(IPEndPoint endpoint) { var listener = new UdpClient(); - if (Environment.OSVersion.Platform != PlatformID.MacOSX) + if (!RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { - //_listener.Client.ReceiveBufferSize = 1600*40000; listener.Client.ReceiveBufferSize = int.MaxValue; - //_listener.Client.SendBufferSize = 1600*40000; listener.Client.SendBufferSize = int.MaxValue; + + listener.DontFragment = false; } - - listener.DontFragment = false; + //listener.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 500); listener.EnableBroadcast = true; if (Environment.OSVersion.Platform != PlatformID.Unix && Environment.OSVersion.Platform != PlatformID.MacOSX)