Очень большой пинг в клиент-серверном приложении в Windows Server 2012. Как уменьшить?
Я создал облачный сервер на Windows Server 2012 R2. При выполнении команды ping со своего компьютера на этот сервер пинг в среднем 60ms. Я написал простое клиент-серверное приложение на C#.
Клиент:
TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse(«адрес»), 10000); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); Stopwatch sw = new Stopwatch(); List pings = new List(); DateTime startTime = DateTime.Now; Random random = new Random(); while(true) { byte[] packet = Enumerable.Repeat(100, random.Next(50, 100)).ToArray(); sw.Start(); writer.Write(packet.Length); writer.Write(packet); packet = reader.ReadBytes(reader.ReadInt32()); sw.Stop(); pings.Add((float)sw.Elapsed.TotalMilliseconds); sw.Reset(); DateTime now = DateTime.Now; if(now — startTime > TimeSpan.FromSeconds(1)) { startTime = now; Console.WriteLine(pings.Average()); pings.Clear(); } }
Сервер:
TcpListener listener = new TcpListener(IPAddress.Any, 10000); listener.Start(); TcpClient client = listener.AcceptTcpClient(); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); while (true) { byte[] packet = reader.ReadBytes(reader.ReadInt32()); writer.Write(packet.Length); writer.Write(packet); }
При запуске сервера на Windows Server, а клиента у себя я получаю результаты пинга в среднем 200ms.
На мой взгляд проблема кроется в настройках Windows Server`а. Подскажите, кто знает.
Клиент:
TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse(«адрес»), 10000); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); Stopwatch sw = new Stopwatch(); List pings = new List(); DateTime startTime = DateTime.Now; Random random = new Random(); while(true) { byte[] packet = Enumerable.Repeat(100, random.Next(50, 100)).ToArray(); sw.Start(); writer.Write(packet.Length); writer.Write(packet); packet = reader.ReadBytes(reader.ReadInt32()); sw.Stop(); pings.Add((float)sw.Elapsed.TotalMilliseconds); sw.Reset(); DateTime now = DateTime.Now; if(now — startTime > TimeSpan.FromSeconds(1)) { startTime = now; Console.WriteLine(pings.Average()); pings.Clear(); } }
Сервер:
TcpListener listener = new TcpListener(IPAddress.Any, 10000); listener.Start(); TcpClient client = listener.AcceptTcpClient(); NetworkStream stream = client.GetStream(); BinaryReader reader = new BinaryReader(stream); BinaryWriter writer = new BinaryWriter(stream); while (true) { byte[] packet = reader.ReadBytes(reader.ReadInt32()); writer.Write(packet.Length); writer.Write(packet); }
При запуске сервера на Windows Server, а клиента у себя я получаю результаты пинга в среднем 200ms.
На мой взгляд проблема кроется в настройках Windows Server`а. Подскажите, кто знает.
Похожие публикации
Почему KMS клиент не находит KMS сервер?
Как перенести dns сервер с winserv 2008r2 на 2012r2?
Как подключить дисковый массив к серверу?
Пропажа данных и проблемы с сетью в Windows Server 2008 R2
Каким образом поднять новую инфраструктуру с нуля и объединить в одну сеть три корпуса учебного заведения?
Нет комментариев