как сравнить ip-адреса
-
06-07-2019 - |
Вопрос
Как сравнить IP-адрес, который хранится в массиве Ip[0], с удаленной конечной точкой??Пожалуйста, помогите мне.
Решение
Примерно так должно работать ...
var ips = new[] { IPAddress.Parse( "127.0.0.1"),
IPAddress.Parse( "192.168.1.1"),
IPAddress.Parse( "10.0.0.1" ) };
var ep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 0);
if (ips[0].Equals(ep.Address))
{
Console.WriteLine("Equal!");
}
Другие советы
Я предполагаю, что вы получили IP-адрес через
System.Net.EndPoint ep = client.Client.RemoteEndPoint; System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep;
Если это так, вы можете просто сравнить через
System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep; ip.ToString(); if(Ip[0] == ip.toString());
Все вышеперечисленные варианты будут работать, но есть еще один вариант, здесь не упомянутый:Используйте метод IPAddress GetAddressBytes, чтобы получить адрес в виде байт и сравнить их.Это может быть полезно, если вам нужно выполнить другую обработку (например, определить, относится ли IP-адрес к классу IP или что-то в этом роде)..
Ну, вы можете просто получить их: ToString (), а затем сравнить их. Или вы можете перебрать 4 числа, которые есть у IPv4 ip, и сравнить их.
Вы можете использовать этот класс для расширения IpAddress:
http: // www. codeproject.com/Articles/26550/Extending-the-IPAddress-object-to-allow-relative-c р>
Просто сравните каждый член структуры.