como comparar direcciones ip
-
06-07-2019 - |
Pregunta
¿Cómo comparar la dirección IP que se almacena en una matriz de Ip [0] con punto final remoto? Por favor, ayúdame.
Solución
Algo como esto debería funcionar ...
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!");
}
Otros consejos
Supongo que ha recuperado la dirección IP a través de
System.Net.EndPoint ep = client.Client.RemoteEndPoint; System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep;
Si ese es el caso, puede comparar a través de
System.Net.IPEndPoint ip = (System.Net.IPEndPoint)ep; ip.ToString(); if(Ip[0] == ip.toString());
Todas las variantes anteriores funcionarán pero hay otra opción que no se menciona aquí: Use el método IpAddress GetAddressBytes para obtener la dirección como bytes y compararlos. Esto podría ser útil si necesita realizar otro procesamiento (como calcular si un IP está en una clase de IP o algo así) ...
Bueno, podrías obtenerlos: ToString () y luego compararlos. O puede iterar a través de los 4 números que tiene una IP IPV4 y compararlos.
Puede usar esta clase para extender IpAddress:
http: // www. codeproject.com/Articles/26550/Extending-the-IPAddress-object-to-allow-relative-c
Simplemente compare cada miembro de la estructura.