.net - 如何计算计算机下载的数量?

标签 .net windows download

我目前正在开发一个 .NET 网吧管理程序,并且想计算网吧中每台计算机从 Internet 下载的数据量,因为用户必须为他们的下载量付费。

我相信 Windows 中必须有某种 API 才能给我这个。 我应该看哪里?

谢谢大家

最佳答案

我刚找到 System.Net.NetworkInformation 命名空间并编写了以下代码:

NetworkInterface[] networkInterfaces = 
    NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface ni in networkInterfaces)
{
    IPv4InterfaceStatistics stats = ni.GetIPv4Statistics();
    IPInterfaceProperties props = ni.GetIPProperties();
    Console.WriteLine("{0} ({1:#,##0.00}Mb/s, {2})",
        ni.Name, ni.Speed / 1024D / 1024D, ni.OperationalStatus);
    Console.WriteLine("\t{0}", ni.Description);

    Console.WriteLine("\t{0:#,##0.00}Mb sent, {1:#,##0.00}Mb received",
        stats.BytesSent / 1024D / 1024D, stats.BytesReceived / 1024D / 1024D);
    Console.WriteLine();
}

我得到了这个输出:

Local Area Connection 2 (953,67Mb/s, Up)
        Realtek RTL8169/8110 Family PCI Gigabit Ethernet NIC (NDIS 6.0)
        1.906,92Mb sent, 483,77Mb received

Local Area Connection 3 (9,54Mb/s, Down)
        D-Link DFE-520TX PCI Fast Ethernet Adapter
        0,00Mb sent, 0,00Mb received

Loopback Pseudo-Interface 1 (1.024,00Mb/s, Up)
        Software Loopback Interface 1
        0,00Mb sent, 0,00Mb received

HTH

关于.net - 如何计算计算机下载的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1593674/

相关文章:

c# - 取消 token : why not to use AsyncLocal context instead of passing parameter to every async method?

c# - 使用 ClosedXML 另存为 pdf

c# - 无法识别 Serilog 的 AddSerilog

c# - 如何让按钮的 Click 事件操作 MVVM 中的另一个控件

javascript - Safari blob 下载影响表单提交 - 导致表单帖子被下载而不是在新选项卡中打开

使用 nssm 的 Windows 服务可以工作,但不能与 Windows SC 一起工作

windows - 多个用户从网络文件共享运行同一个 Windows 应用程序;我应该注意什么?

node.js - Netbeans Less CSS(Node.js 预处理器)无法识别 Mixin

django - 使用HttpResponse在Django中下载名称中包含中文字符的文件

python - 无法为 xml 下载创建 HttpResponse,Django