Показать точную скорость загрузки в C# ⇐ C#
-
Гость
Показать точную скорость загрузки в C#
Я пытаюсь отобразить скорость загрузки и выгрузки на метках: lblDownloadSpeed и lblUploadSpeed. Мне удалось отобразить скорость загрузки, но я не могу понять, как показать реальную скорость загрузки.
с использованием системы; использование System.Collections.Generic; используя System.Linq; использование System.Net; использование System.Text; использование System.Threading.Tasks; пространство имен ZrylxVPN_FormVers.Connection { публичный статический класс NetworkSpeed { публичный статический двойной getDownloadSpeed() { System.Net.WebClient wc = новый System.Net.WebClient(); ДатаВремя dt1 = ДатаВремя.UtcNow; byte[] data = wc.DownloadData("http://google.com"); ДатаВремя dt2 = ДатаВремя.UtcNow; return Math.Round((data.Length/1024)/(dt2 - dt1).TotalSeconds, 2); } публичный статический двойной getUploadSpeed() { // Я хочу создать здесь функцию для получения скорости загрузки } public static void showDownloadSpeed (форма Form1) { двойная скорость загрузки = getDownloadSpeed(); string downloadspeedText = $"{downloadSpeed} КБ/с"; form.lblDownloadSpeed.Text = downloadspeedText; } public static void showUploadSpeed (форма Form1) { двойная скорость загрузки = getUploadSpeed(); строка uploadSpeedText = $"{uploadSpeed} КБ/с"; form.lblUploadSpeed.Text = uploadSpeedText; } } } Я пытался отобразить скорость загрузки следующим образом:
public static double getUploadSpeed() { System.Net.WebClient wc = новый System.Net.WebClient(); ДатаВремя dt1 = ДатаВремя.UtcNow; byte[] dataToUpload = новый байт[1024 * 1024]; новый Random().NextBytes(dataToUpload); ДатаВремя dt2 = ДатаВремя.UtcNow; return Math.Round((dataToUpload.Length / 1024) / (dt2 - dt1).TotalSeconds, 2); } И этот код работает, но показывает безумно большую скорость — около 150 000 КБ/с. Как изменить функцию getUploadSpeed, чтобы получить более реалистичные данные о скорости загрузки?
Я пытаюсь отобразить скорость загрузки и выгрузки на метках: lblDownloadSpeed и lblUploadSpeed. Мне удалось отобразить скорость загрузки, но я не могу понять, как показать реальную скорость загрузки.
с использованием системы; использование System.Collections.Generic; используя System.Linq; использование System.Net; использование System.Text; использование System.Threading.Tasks; пространство имен ZrylxVPN_FormVers.Connection { публичный статический класс NetworkSpeed { публичный статический двойной getDownloadSpeed() { System.Net.WebClient wc = новый System.Net.WebClient(); ДатаВремя dt1 = ДатаВремя.UtcNow; byte[] data = wc.DownloadData("http://google.com"); ДатаВремя dt2 = ДатаВремя.UtcNow; return Math.Round((data.Length/1024)/(dt2 - dt1).TotalSeconds, 2); } публичный статический двойной getUploadSpeed() { // Я хочу создать здесь функцию для получения скорости загрузки } public static void showDownloadSpeed (форма Form1) { двойная скорость загрузки = getDownloadSpeed(); string downloadspeedText = $"{downloadSpeed} КБ/с"; form.lblDownloadSpeed.Text = downloadspeedText; } public static void showUploadSpeed (форма Form1) { двойная скорость загрузки = getUploadSpeed(); строка uploadSpeedText = $"{uploadSpeed} КБ/с"; form.lblUploadSpeed.Text = uploadSpeedText; } } } Я пытался отобразить скорость загрузки следующим образом:
public static double getUploadSpeed() { System.Net.WebClient wc = новый System.Net.WebClient(); ДатаВремя dt1 = ДатаВремя.UtcNow; byte[] dataToUpload = новый байт[1024 * 1024]; новый Random().NextBytes(dataToUpload); ДатаВремя dt2 = ДатаВремя.UtcNow; return Math.Round((dataToUpload.Length / 1024) / (dt2 - dt1).TotalSeconds, 2); } И этот код работает, но показывает безумно большую скорость — около 150 000 КБ/с. Как изменить функцию getUploadSpeed, чтобы получить более реалистичные данные о скорости загрузки?
Мобильная версия