【发布时间】:2017-07-14 11:31:39
【问题描述】:
我用 C# 和 Microsoft API 编写了一个程序,显示您的下载量,但它没有告诉我下载的正确大小,例如:如果我下载 10 MB 文件,程序显示 11 MB 已下载。
我还检查了网络状态窗口仍然像我的程序一样告诉我。
为什么? ISP 中的其他软件是否与我的工作方式相同?
objIPInterfaceStatistics2 = objNetworkInterface[numberinterface].GetIPStatistics();
long newBytesreceived;
newBytesreceived = objIPInterfaceStatistics2.BytesReceived;
if (checkdata == true)
{
checkdata = false;
newBytesreceived = 0;
}
long newUsage = newBytesreceived - oldBytesreceived2;
trafficusage += newUsage;
float converttrafficusage = trafficusage / 1000000;
oldBytesreceived2 = objIPInterfaceStatistics2.BytesReceived;
worker.ReportProgress((int)Math.Ceiling(converttrafficusage));
Thread.Sleep(1000);
【问题讨论】:
-
我们是否只是想想象一下您编写的代码是做什么的以及如何/如果您有问题?请尝试创建某种minimal reproducible example,如果您需要帮助找出您做错了什么。
-
你需要考虑网络开销
-
您确定他们使用的是相同的“度量”吗?他们可能会向您显示 MibiBytes 的大小而不是兆字节
-
添加源代码
标签: c# networking