简体   繁体   中英

how to compare ip addresses

How to compare IP Address that is stored in an array of Ip[0] with remote Endpoint?? Please Help me.

Something like this should work ...

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!");
}

I'm assuming you have retrieved the IP address via

 System.Net.EndPoint ep = client.Client.RemoteEndPoint; System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep; 

If that's the case you can just compare via

 System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep; ip.ToString(); if(Ip[0] == ip.toString()); 

All the above variants will work but there's another option not mentioned here: Use the IpAddress GetAddressBytes method to obtain the address as bytes and compare them. This could be usefull if you need to make other processing (such as figuring if an Ip is in an IP class or something like this)..

Well you could just get them: ToString() and then compare them. Or you can iterate through the 4 numbers that an IPV4 ip Has, and compare them.

只需比较结构的每个成员。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM