В Интернете есть несколько мест, где показано, как получить IP-адрес. И многие из них выглядят следующим образом:
String strHostName = string.Empty;
// Getting Ip address of local machine...
// First get the host name of local machine.
strHostName = Dns.GetHostName();
Console.WriteLine("Local Machine Host Name: " + strHostName);
// Then using host name, get the IP address list..
IPHostEntry ipEntry = Dns.GetHostEntry(strHostName);
IPAddress[] addr = ipEntry.AddressList;
for (int i = 0; i < addr.Length; i++)
{
Console.WriteLine("IP Address {0}: {1} ", i, addr[i].ToString());
}
Console.ReadLine();
В этом примере я получаю несколько IP-адресов, но меня интересует только тот, который маршрутизатор назначает компьютеру, на котором запущена программа: IP-адрес, который я бы предоставил кому-либо, если он хочет получить доступ к общей папке в например, на моем компьютере.
Если я не подключен к сети, и я подключен к Интернету напрямую через модем без маршрутизатора, то я хотел бы получить сообщение об ошибке. Как я могу узнать, подключен ли мой компьютер к сети с С#, и если это тогда, чтобы получить IP-адрес LAN.