Questo probabilmente non è molto sano, ma è stato divertente pensarci.
Poiché lo spazio dell'indirizzo IP è di 32 bit, è possibile scrivere una funzione per convertire gli indirizzi IP in numeri interi a 32 bit senza segno. Quindi puoi aggiungere o sottrarre 1 o quanto vuoi e riconvertire in un indirizzo IP. Non dovresti preoccuparti del controllo del range.
In pseduo-codice per 192.123.34.134 faresti:
int i = (192 << 24) + (123 << 16) + (34 << 8) + 134
Più in generale, per a.b.c.D:
int i = (a << 24) + (b << 16) + (c << 8) + d
Ora cambiano i
tanto quanto si vuole (i++
, i+=10000
) e riconvertire:
String ip = (i >> 24) + "." +
((i >> 16) mod 256) + "." +
((i >> 8) mod 256) + "." +
(i mod 256);
Excuse la sintassi - non ho potuto scrivere C++ per salvare me stesso.
MK
Vuoi dire char * ip, giusto? –