Приветствую всех, сегодня рассмотрим несколько вариантов того как можно получить свой IP адрес. Один из вариантов представленных ниже вы обязательно будите использовать в своих проектах и вам не придется терять время поиски решений, о том как получить свой ip адрес.
И так вариант №1:
1 2 3 4 |
private static IPAddress GetIPAddress1() { return Dns.GetHostByName(Dns.GetHostName()).AddressList.First(); } |
Является устаревшим, однако в консольных вариантах и winform работает.
Вариант №2:
1 2 3 4 5 |
public static IPAddress GetIPAddress2() { return Dns.GetHostAddresses(Dns.GetHostName()).Where(address => address.AddressFamily == AddressFamily.InterNetwork).First(); } |
Более усовершенствованы, однако в WPF и UWP не работает.
Вариант №3:
1 2 3 4 5 6 7 8 9 |
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:
1 2 3 4 |
async public static void GetIPAddress4() { IPAddress[] tt =await Dns.GetHostAddressesAsync(Dns.GetHostName()); } |
Работает по UWP отлично.
И так я рассмотрел множество вариантов того как можно легко определить свой локальных ip хоста или своего компьютера.
Спасибо, 3 вариант отлично работает. Смотрел на разных форумах — там практически одно и тоже и не работает