C'è un modo per rilevare la velocità della rete e l'utilizzo della larghezza di banda in C#? Anche i riferimenti a componenti open source sono benvenuti.Rilevamento della velocità della connessione di rete e dell'uso della larghezza di banda in C#
risposta
Provare a utilizzare le classi System.Net.NetworkInformation. In particolare, System.Net.NetworkInformation.IPv4InterfaceStatistics
dovrebbe avere alcune informazioni sulla falsariga di ciò che stai cercando.
In particolare, è possibile verificare la proprietà bytesReceived
, attendere un determinato intervallo e quindi verificare di nuovo la proprietà bytesReceived
per avere un'idea di quanti byte/secondo sta elaborando la connessione. Per ottenere un buon numero, però, dovresti provare a scaricare un grande blocco di informazioni da una determinata fonte, e poi controllare; in questo modo dovresti essere "al massimo" la connessione quando esegui il test, che dovrebbe dare più numeri utili.
Dovresti essere in grado di calcolare tutto ciò che ti serve dalla classe IPGlobalStatistics.