我正在对 Open Hardware Monitor 进行一些更改。我将添加网络适配器的下载和上传速度。但是当我计算下载速度时,我得到了错误的计算。
由于 OHM 中的自动更新,我无法使用计时器来计算正确的下载速度。在这里的源代码中,您可以看到我如何计算下载速度(以 Mb/s 为单位)。
在类的构造中,我做:
IPv4InterfaceStatistics interfaceStats = netInterfaces.GetIPv4Statistics();
bytesSent = interfaceStats.BytesSent;
bytesReceived = interfaceStats.BytesReceived;
stopWatch = new Stopwatch();
stopWatch.Start();
当调用更新方法时(在某些随机时间),我这样做:
IPv4InterfaceStatistics interfaceStats = netInterfaces.GetIPv4Statistics();
stopWatch.Stop();
long time = stopWatch.ElapsedMilliseconds;
if (time != 0)
{
long bytes = interfaceStats.BytesSent;
long bytesCalc = ((bytes - bytesSent)*8);
usedDownloadSpeed.Value = ((bytesCalc / time) * 1000)/1024;
bytesSent = bytes;
}
希望有人能看到我的问题?
添加截图