Frage

Wie vergleichen Sie die IP -Adresse, die in einem Array von IP [0] mit Remote -Endpunkt gespeichert ist? Bitte hilf mir.

War es hilfreich?

Lösung

So etwas sollte funktionieren ...

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

Andere Tipps

Ich gehe davon aus, dass Sie die IP -Adresse über abgerufen haben

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

Wenn dies der Fall ist, können Sie einfach über vergleichen

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

Alle oben genannten Varianten funktionieren, aber es gibt eine andere Option, die hier nicht erwähnt wird: Verwenden Sie die iPaddress getAddressByTes -Methode, um die Adresse als Bytes zu erhalten und zu vergleichen. Dies könnte nützlich sein, wenn Sie andere Verarbeitung vornehmen müssen (z. B. um festzustellen, ob sich eine IP in einer IP -Klasse oder ähnlich befindet).

Nun, Sie könnten sie einfach bekommen: tostring () und dann vergleichen. Oder Sie können die 4 Zahlen durch eine IPv4 -IP durchführen und vergleichen.

Sie können diese Klasse verwenden, um iPaddress zu erweitern:

http://www.codeprroject.com/articles/26550/extending- the-ipaddress-object-toal-allow-relative-c

Vergleichen Sie einfach jedes Mitglied der Struktur.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top