how to compare ip addresses
-
06-07-2019 - |
Question
How to compare IP Address that is stored in an array of Ip[0] with remote Endpoint?? Please Help me.
Solution
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!");
}
OTHER TIPS
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.
You can use this class to extend IpAddress :
http://www.codeproject.com/Articles/26550/Extending-the-IPAddress-object-to-allow-relative-c
Simply compare each member of the struct.