Для моего приложения я хочу показать пользователю о пропускной способности сети. Таким образом, получение задержки для загрузки будет известно пользователю. Возможно ли их показать?Измерение сети Bandwidh в C#
ответ
Попробуйте следующее: How to calculate network bandwidth speed in c#.
using System;
using System.Net.NetworkInformation;
using System.Windows.Forms;
namespace InterfaceTrafficWatch
{
/// <summary>
/// Network Interface Traffic Watch
/// by Mohamed Mansour
///
/// Free to use under GPL open source license!
/// </summary>
public partial class MainForm : Form
{
/// <summary>
/// Timer Update (every 1 sec)
/// </summary>
private const double timerUpdate = 1000;
/// <summary>
/// Interface Storage
/// </summary>
private NetworkInterface[] nicArr;
/// <summary>
/// Main Timer Object
/// (we could use something more efficient such
/// as interop calls to HighPerformanceTimers)
/// </summary>
private Timer timer;
/// <summary>
/// Constructor
/// </summary>
public MainForm()
{
InitializeComponent();
InitializeNetworkInterface();
InitializeTimer();
}
/// <summary>
/// Initialize all network interfaces on this computer
/// </summary>
private void InitializeNetworkInterface()
{
// Grab all local interfaces to this computer
nicArr = NetworkInterface.GetAllNetworkInterfaces();
// Add each interface name to the combo box
for (int i = 0; i < nicArr.Length; i++)
cmbInterface.Items.Add(nicArr[i].Name);
// Change the initial selection to the first interface
cmbInterface.SelectedIndex = 0;
}
/// <summary>
/// Initialize the Timer
/// </summary>
private void InitializeTimer()
{
timer = new Timer();
timer.Interval = (int)timerUpdate;
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
}
/// <summary>
/// Update GUI components for the network interfaces
/// </summary>
private void UpdateNetworkInterface()
{
// Grab NetworkInterface object that describes the current interface
NetworkInterface nic = nicArr[cmbInterface.SelectedIndex];
// Grab the stats for that interface
IPv4InterfaceStatistics interfaceStats = nic.GetIPv4Statistics();
// Calculate the speed of bytes going in and out
// NOTE: we could use something faster and more reliable than Windows Forms Tiemr
// such as HighPerformanceTimer http://www.m0interactive.com/archives/2006/12/21/high_resolution_timer_in_net_2_0.html
int bytesSentSpeed = (int)(interfaceStats.BytesSent - double.Parse(lblBytesSent.Text))/1024;
int bytesReceivedSpeed = (int)(interfaceStats.BytesReceived - double.Parse(lblBytesReceived.Text))/1024;
// Update the labels
lblSpeed.Text = nic.Speed.ToString();
lblInterfaceType.Text = nic.NetworkInterfaceType.ToString();
lblSpeed.Text = nic.Speed.ToString();
lblBytesReceived.Text = interfaceStats.BytesReceived.ToString();
lblBytesSent.Text = interfaceStats.BytesSent.ToString();
lblUpload.Text = bytesSentSpeed.ToString() + " KB/s";
lblDownload.Text = bytesReceivedSpeed.ToString() + " KB/s";
}
/// <summary>
/// The Timer event for each Tick (second) to update the UI
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void timer_Tick(object sender, EventArgs e)
{
UpdateNetworkInterface();
}
}
}
, пока это правильно, что покажет всю ширину полосы сетевого адаптера, а не для конкретной загрузки –
Если это то, что вы скачиваете через поток, то, что вы могли бы сделать, это своего рода «метр», который наследуется от потока и выставляет свойство, суммирование байты, считанные или записанные в базовый объект потока. Попросите измеритель инкапсулировать объект потока, который вы используете для загрузки, а затем прочитайте его с объекта счетчика. то когда-либо так часто вы можете проверить количество прочитанных байтов во времени, чтобы вычислить потребляемую скорость полосы пропускания.
- 1. Android: измерение информации сети
- 2. Измерение истекшего времени по сети
- 3. нейронные сети измерение неправильно матч
- 4. Анализ сети гиперссылок в R - измерение «достижимости» вершины внутри сети?
- 5. Измерение полосы пропускания сети в PHP
- 6. Измерение Отброшенные пакеты в сети через wirehark
- 7. Измерение загрузки/выгрузки данных по сети
- 8. Измерение амплитуды живого микрофона в C#
- 9. Измерение процессорного времени в C++
- 10. Измерение производительности/профилирования в C
- 11. Измерение сетевой трафик в C#
- 12. Измерение клещей процессора в C
- 13. незначительное хронометрическое измерение в C++?
- 14. Создания измерение преобразователь C++
- 15. C# Измерение преобразования класса
- 16. Измерение внутренней скорости сети/полосы пропускания в Java
- 17. C# IQueryable - добавит другое измерение?
- 18. Измерение времени программы C 0
- 19. Измерение циклов процессора кода C++
- 20. Измерение ContextSwitch Time C (Windows)
- 21. Измерение времени UDP-разъем C
- 22. C++ измерение времени выполнения программы
- 23. C/C++ Шифрование: измерение скорости передачи данных
- 24. Измерение времени в C дает неправильный результат
- 25. Измерение точного времени выполнения в C
- 26. измерение времени в C и Linux
- 27. Измерение давления памяти/выполнение GC в C#
- 28. Измерение времени в синхронизированном потоке C-язык
- 29. Измерение потери пакетов в ping-C++
- 30. общее измерение времени выполнения в MPI C
@ RomanoZumbé этот вопрос более 7 лет. в то время люди не будут искать мексику, чтобы продвинуться вперед. это начальная фаза. Пожалуйста, не злоупотребляйте тем, кто участвует со стартовой стадии сайта. –
@SagarV. Я никого не «злоупотребляю». Этот вопрос появился в моей очереди «Закрыть голоса». Я думаю, что если что-то не соответствует нашим критериям качества, сегодня оно должно быть удалено, даже если оно будет соответствовать критериям качества, когда оно будет опубликовано. Но теперь я понимаю, почему это заняло первое место. –