我目前正在研究.NET Cybercafe管理程序,并希望计算Cybercafe中每台计算机从Internet下载的数据量,因为用户必须支付下载金额。
我相信在Windows中必须有某种API来给我这个。 我应该在哪里看?
谢谢大家。
答案 0 :(得分:2)
我刚刚找到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
答案 1 :(得分:1)
我会使用一些专用的解决方案。谷歌的“网吧管理软件” - 有大量的结果:
例如:www.handycafe.com /
答案 2 :(得分:1)
您还可以阅读系统上的性能计数器。请参阅.NET中的PerformanceCounter类。有关计算机上可用性能计数器的列表。开始 - >运行Perfmon - > “添加计数器”以查看可用的计数器。