IP mit htonl hochzählen
-
hallo,
ich raff einfach nicht wie man ips hochzählt, also dass wenn man zb.
192.168.0.1 hat und dann ip++; macht dass man 192.168.0.2
so in der art
das geht ja mit htonl da man alles umdrehen muss oder so, probiere nun schon seit stunden und ich bin mir net sicher obs geht, da ich die "umgedrehte" ip net mehr ausgeben kann...
printf ("%s", ip); geht net und %u bringt nur sone komische zahl, wie kann ich das wieder zurückwandeln?
am besten wär wenn jemand ein bsp. geben kann denn ich suche schon seit std. aber irgendwie komm ich net druff ;P
thx für jede info
lg papanoah
-
Wenn Du eine IP in network byte order hast, dann:
- in host byte order umwandeln
- hochzaehlen
- wieder in network byte order umwandeln.
Wenn die IP schon in host byte order gegeben ist, brauchste gar nichts umzudrehen.
-
hm wie würde das dann gehen wenn ich das so habe:
... char ip[16]; gets(ip); nun soll das umgewandelt werden und mit nem server verbinden nun die ip +1 nun wieder verbinden mit der neuen ip (+1) nun ausgeben wohin er verbunden hat (ip und ip+1)
danke
lg papanoah
-
Ja, dann mach mal. Fang doch einfach mal an, indem Du die IP-Adresse in einen int umwandelst, sonst wirds mit dem Rechnen so schwer.
-
ja ich weiß irgendwie net wie das gehen soll, habe mich an dem bsp. orientiert, das funkt aber net so recht weil das für unix is und ich mit windwows arbeite ,)
http://www.zotteljedi.de/doc/socket-tipps/code_portscanner.htmlbitte um hilfe
lg papanoah
-
Dann stell doch mal 'ne konkretere Frage als "das geht nicht" und "macht mal".
-
ich hab das irgendwie umgewandelt mit den commands aber weiß a) weder ob der dann richtig connected und b) kann ich die umgewandelte ip net wieder ausgeben
weiß niemand wie das geht das wäre ne sache von 1min das zu coden wenn mans kann
danke
lg papanoah
-
-
SG1 schrieb:
danke, ich werde wohl wo anders hilfe suchen
lg papanoah