Einzelnen Beitrag anzeigen

ATwardz

Registriert seit: 12. Mai 2003
205 Beiträge
 
Delphi 7 Professional
 
#13
  Alt 15. Mai 2003, 22:36
Ach ja ein Problem gibt es noch, was ich mir fast schon gedacht habe!

Da die IP ja x.x.x.x vier Stellen hat und ich also drei weitere Forschleifen davor geschaltet habe, wird der Pc überlastet.

Er sagt mir das der Puffer voll ist

Genau gesagt!

Windows socket error:Ein Socketvorgang konnte nicht ausgeführt werden, da dem System Pufferspeicher fehlte oder eine Warteschlange voll war
(10055), on API'connect'

Wie kann ich nach einer bestimmten Zeit den Speicher wieder freigeben!

Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
var
i,c,b,a: Integer;
begin
  ListBox1.Clear;
  ListBox2.Clear;
  For a:=1 to 255 do
  Begin
   For b:=1 to 255 do
   Begin
     For c:=1 to 255 do
     Begin
       For i:=1 to 255 do
       begin
         Client1.host:='192.'+inttostr(b)+'.'+inttostr(c)+'.'+inttostr(i);
         Try
           Client1.Open;
           Application.ProcessMessages;
         if Client1.Socket.Connected then
         Begin
           ListBox1.Items.Add(Client1.Host);
           exit;
         end
         else
           //ListBox2.Items.Add(Client1.Host);
           Client1.Close;
         except
           beep;
         end;
       end;
       if Client1.Socket.Connected then
       Begin
         exit;
       end;
     end;
   end;
 end;
end;
Oder kann ich vielleicht 4 verschieden Proceduren anlegen, weil ja nach dem schliessen der Procedure der speicher wieder freigegeben wird?


Ich weiss das der scan bei mehr als 4 Millaren möglichkeiten vermutlich nie fertig wird aber ich wollte eine Eingrenzung später möglich machen!

Die Fehlermeldung kommt auch schon bei einem Spektrum von 192.168.1.1 bis 192.168.3.1 also ja nur 765 Möglichkeiten!

Gibs da vielleicht ne Möglichkeit?

Danke!
  Mit Zitat antworten Zitat