AlexBB
Hi Julien,
Try this. I copied it from MSDN somewhere but cannot recall now where from.
using
System;
using
System.Net;
using
System.Net.Security;
using
System.Net.NetworkInformation;
namespace
Examples.Net.AddressChanges
{
public class NetworkingMonitor
{
public static void Networking( )
{
if (NetworkInterface.GetIsNetworkAvailable ( ) == true)
{
Console.WriteLine ( "Network Is Avalable" );
}
else
{
Console.WriteLine ( "Network Is NOT Avalable" );
}
NetworkChange.NetworkAddressChanged += new
NetworkAddressChangedEventHandler ( AddressChangedCallback );
}
static void AddressChangedCallback( object sender, EventArgs e )
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ( );
foreach (NetworkInterface n in adapters)
{
Console.WriteLine ( "Name: {0} ID: {1}, Operational Status: {2}",
n.Name, n.Id, n.OperationalStatus );
}
}
} // NetworkingMonitor
}
You will see many methods in NetworkInterface, like this one (also from MSDN):
public static void DisplayMulticastAddresses( )
{
Console.WriteLine ( "Multicast Addresses" );
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces ( );
foreach (NetworkInterface adapter in adapters)
{
IPInterfaceProperties adapterProperties = adapter.GetIPProperties ( );
MulticastIPAddressInformationCollection multiCast = adapterProperties.MulticastAddresses;
if (multiCast.Count > 0)
{
Console.WriteLine ( adapter.Description );
foreach (IPAddressInformation multi in multiCast)
{
Console.WriteLine ( " Multicast Address ....................... : {0} {1} {2}",
multi.Address,
multi.IsTransient "Transient" : "",
multi.IsDnsEligible "DNS Eligible" : ""
);
}
Console.WriteLine ( );
}
}
} // DisplayMulticastAddresses
Good luck