Приветствую всех, сегодня рассмотрим несколько вариантов того как можно получить свой IP адрес. Один из вариантов представленных ниже вы обязательно будите использовать в своих проектах и вам не придется терять время поиски решений, о том как получить свой ip адрес.
И так вариант №1:
private static IPAddress GetIPAddress1()
{
return Dns.GetHostByName(Dns.GetHostName()).AddressList.First();
}
Является устаревшим, однако в консольных вариантах и winform работает.
Вариант №2:
public static IPAddress GetIPAddress2()
{
return Dns.GetHostAddresses(Dns.GetHostName()).Where(address =>
address.AddressFamily == AddressFamily.InterNetwork).First();
}
Более усовершенствованы, однако в WPF и UWP не работает.
Вариант №3:
public static IPAddress GetIPAddress3()
{
using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, 0))
{
socket.Connect("8.8.8.8", 65530);
IPEndPoint endPoint = socket.LocalEndPoint as IPEndPoint;
return endPoint.Address;
}
}
Работает абсолютно везде. Есть не достаток, сохраняет ip адрес предыдущей сессии, будьте внимательны.
Вариант №4:
async public static void GetIPAddress4()
{
IPAddress[] tt =await Dns.GetHostAddressesAsync(Dns.GetHostName());
}
Работает по UWP отлично.
И так я рассмотрел множество вариантов того как можно легко определить свой локальных ip хоста или своего компьютера.

Спасибо, 3 вариант отлично работает. Смотрел на разных форумах — там практически одно и тоже и не работает