Вопрос

Как сравнить 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

Просто сравните каждый член структуры.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top