Osäker på om den här frågan hör hemma här men någon moderator får väl flytta den till lämpligt ställe annars. :-)
Hur som helst så skulle jag behöva hjälp med att kolla om ett ip tillhör en viss nätmask. T ex om 192.168.1.26 tillhör 192.168.1.0/24. Hur gör man detta programmatiskt?
Inte riktigt säker på hur du menar... Menar du rent klass-mässigt? (A: /8 B: /16 C: /24)
För 192.168.1.26 kan ju tillhöra 192.168.1.0/25 26 27 28 och så vidare.
Om du har båda adresserna som byte-arrayer kan du göra såhär:
byte[] mask = { 192, 168, 1, 0 }; // IP-masken
int nbits = 24; // Antalet bitar från masken att använda
byte[] ip = { 192, 168, 1, 26 }; // IP-adressen
bool match = true;
for (int i = 0; match && i < nbits / 8; ++i) match = (mask[i] & ip[i]) == ip[i];
if (match) Console.WriteLine("IP:t matchade");
274 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e