001
12.01.2005, 15:46 Uhr
virtual
Sexiest Bit alive (Operator)
|
Naja, also 256*256*256*256 entspricht grob gerechnet 4,2 Milliarden Schleifendurchläufen. Wenn Dann darin noch was passieren soll, wird es halt eng. Es wird dir vermutlich auch wenig Helfen, das alles in in einer Schleife abzufackeln, weil es einfach zuviele Zahlen sind: Wenn man mal unterstellt, daß die Anweisung in der Innersten Schleife eine Millisekunde Dauert, wird Dein Programm ca. 49-50 Tage beschägtigt sein. Netzwerkanalyse bedeutet wohl sowas wie Sockets aufbauen, da bist Du pro Socket ganz schnell über 1 Millisekunde...
Deshalb solltest Du das Programm generell von der Idee her überdenken (Ich weiß ja nicht, was Du vorhast)
Was die Vereinfachung der Schleife angeht: ja, könnte man machen, allerdings ist der Overhead, den die For schleifen generieren eher gering. Du könntest zwar sowas machen:
C++: |
for(unsigned long i=0; i<=0xffffffff; ++i) { // i ist nun die Binärdarstellung der IP Adresse }
|
allerdings solltest Du eher mal überlegen, was Du machen willst, ob für die Aufgabe ggf. bestimmte Netzwerkprotokalle bereitsexistieren (Broadcasting) und welche IP Adressen überhaupt in Frage kommen (Sub-net-masking) -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |