Csharp/C Sharp by API/System.Net.NetworkInformation/NetworkChange
NetworkChange.NetworkAddressChanged
using System;
using System.Net.NetworkInformation;
class MainClass
{
private static void NetworkAddressChanged(object sender, EventArgs e)
{
Console.WriteLine("Current IP Addresses:");
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
foreach (UnicastIPAddressInformation addr in ni.GetIPProperties().UnicastAddresses) {
Console.WriteLine("{0}", addr.Address );
}
}
}
public static void Main(string[] args)
{
NetworkChange.NetworkAddressChanged += NetworkAddressChanged;
}
}
NetworkChange.NetworkAvailabilityChanged
using System;
using System.Net.NetworkInformation;
class MainClass
{
private static void NetworkAvailabilityChanged(object sender, NetworkAvailabilityEventArgs e)
{
if (e.IsAvailable)
{
Console.WriteLine("Network Available");
}
else
{
Console.WriteLine("Network Unavailable");
}
}
static void Main(string[] args)
{
NetworkChange.NetworkAvailabilityChanged += NetworkAvailabilityChanged;
}
}