So vergleichen Sie IP -Adressen
-
06-07-2019 - |
Frage
Wie vergleichen Sie die IP -Adresse, die in einem Array von IP [0] mit Remote -Endpunkt gespeichert ist? Bitte hilf mir.
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.