Pour mon application, je veux montrer à l'utilisateur la bande passante du réseau. Ainsi, le délai de téléchargement sera connu de l'utilisateur. Est-il possible de leur montrer?Mesure Bandwidh réseau en C#
Répondre
Essayez celui-ci: 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();
}
}
}
alors que c'est correct, cela montrera toute la bande passante de l'adaptateur réseau, et pas pour un téléchargement spécifique –
Si ce que vous téléchargez via un flux alors ce que vous pouvez faire est de faire une sorte de « mètre », qui hérite de cours d'eau et expose une propriété qui est une somme de les octets lus ou écrits dans son objet de flux sous-jacent. Avoir le compteur encapsuler l'objet de flux que vous utilisez pour télécharger, puis lire à partir de l'objet compteur. alors, si souvent, vous pouvez vérifier le nombre d'octets lus au cours du temps pour calculer la vitesse de bande passante consommée.
- 1. Outil de mesure de performance réseau en C#
- 2. UserControls sur mesure en C++
- 3. Mesure du trafic réseau avec Indy
- 4. Port réseau dédié en C#
- 5. Modèles de serveur réseau multithread en C#
- 6. Mesure de l'impact d'une application sur le trafic réseau
- 7. Mesure du trafic réseau par programme sur l'iPhone
- 8. Mesure de paquets ignorés dans le réseau via wireshark
- 9. C# Impression réseau
- 10. Surveillance de l'utilisation de l'interface réseau Linux en C/C++
- 11. C# WPF - redimensionnement sur mesure
- 12. Mesure ContextSwitch Time C (Windows)
- 13. pas en mesure de construire une structure complexe en C++
- 14. Je veux être en mesure d'extraire le journal des erreurs du BIOS à travers un réseau
- 15. C++ programmation réseau asynchrone
- 16. Mesure de la différence de temps entre les périphériques en réseau
- 17. pas en mesure d'exécuter ... Erreurs
- 18. Winsock: programmation réseau Windows en C++
- 19. Mise en réseau TCP simple avec C#
- 20. Mise en réseau TCPIP avec C#
- 21. Communication interprocessus sur réseau en C++
- 22. Vérification du réseau sécurisé en C#
- 23. fichiers d'en-tête réseau en C++
- 24. Meilleure bibliothèque réseau C/C++
- 25. C# connexion réseau
- 26. Programmation réseau avec C#
- 27. Pas en mesure d'obtenir IME Contexte d'entrée à C++ (ImmGetContext)
- 28. Mesure de la surcharge de gestion des exceptions en C++
- 29. C# - réseau ou serveur
- 30. mesure html rendu en javascript sans affecter la mesure
@ RomanoZumbé cette question a plus de 7 ans. à ce moment-là, les gens ne chercheront pas une mvve à upvote. c'est la phase initiale. S'il vous plaît ne pas abuser ceux qui contribuent de la phase de démarrage du site –
@SagarV Je ne suis pas "abuser" personne. Cette question a surgi dans ma file d'attente "Close Votes". Je pense que si quelque chose ne répond pas à nos critères de qualité aujourd'hui, il devrait être supprimé même s'il répondait aux critères de qualité lors de sa publication. Mais je comprends maintenant pourquoi il a été voté en premier lieu. –