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.

¿Fue útil?

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.

Simplemente compare cada miembro de la estructura.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top