예제 #1
0
		// Enable the timer, and add the specified adapter to the monitoredAdapters list
		public void StartMonitoring(NetworkAdapter adapter)
		{
			if (!this.monitoredAdapters.Contains(adapter))
			{
				this.monitoredAdapters.Add(adapter);
				adapter.init();
			}
			timer.Enabled	=	true;
		}
예제 #2
0
		/// <summary>
		/// Enumerates network adapters installed on the computer.
		/// </summary>
		private void EnumerateNetworkAdapters()
		{
			PerformanceCounterCategory category	=	new PerformanceCounterCategory("Network Interface");

			foreach (string name in category.GetInstanceNames())
			{
				// This one exists on every computer.
				if (name == "MS TCP Loopback interface")
					continue;
				// Create an instance of NetworkAdapter class, and create performance counters for it.
				NetworkAdapter adapter	=	new NetworkAdapter(name);
				adapter.dlCounter	=	new PerformanceCounter("Network Interface", "Bytes Received/sec", name);
				adapter.ulCounter	=	new PerformanceCounter("Network Interface", "Bytes Sent/sec", name);
				this.adapters.Add(adapter);			// Add it to ArrayList adapter
			}
		}
예제 #3
0
		// Remove the specified adapter from the monitoredAdapters list, and disable the timer if the monitoredAdapters list is empty.
		public void StopMonitoring(NetworkAdapter adapter)
		{
			if (this.monitoredAdapters.Contains(adapter))
				this.monitoredAdapters.Remove(adapter);	
			if(this.monitoredAdapters.Count == 0)
				timer.Enabled	=	false;
		}