windows有自己的流量统计功能,只需要去取出来就好了。
这么简单的事情C#应该有函数的,MSDN打开,网络通信相关的命名空间看看去,O~找到了,原来确实是很简单的,贴出来大家看看:
using System.Net.NetworkInformation;
IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
Console.WriteLine("Interface information for {0}.{1} ",
computerProperties.HostName, computerProperties.DomainName);
if (nics == null || nics.Length < 1)
{
Console.WriteLine(" No network interfaces found.");
return;
}
Console.WriteLine(" Number of interfaces .................... : {0}", nics.Length);
foreach (NetworkInterface adapter in nics)
{
IPv4InterfaceStatistics ipv4Statistics = adapter.GetIPv4Statistics();
Console.WriteLine("send :{0}MB", ipv4Statistics.BytesSent / 1024 / 1024);
Console.WriteLine("recieve :{0}MB", ipv4Statistics.BytesReceived / 1024 / 1024);
}