![]() |
Indy TCP Server nur max ~100mal instanziierbar ?
ich bekomme immer den fehler
--------------------------- Debugger Exception Notification --------------------------- Project Project1.exe raised exception class EThread with message 'Thread creation error: Für diesen Befehl ist nicht genügend Speicher verfügbar'. Process stopped. Use Step or Run to continue. --------------------------- OK Help --------------------------- wenn ich etwa 100 TIdTCPServer instanziieren will... die exception passiert immer in TidThread ( die von Indy benutzt wird ) hab schon versucht den stack zu vergrößern aber das brachte nix ( hat ja auch net so vield damit zu tun ;) hier bleibt der dinger stecken:
Delphi-Quellcode:
der code womit ich instanziiere:
constructor TIdThread.Create(ACreateSuspended: Boolean);
begin // Before inherited - inherited creates the actual thread and if not suspeded // will start before we initialize FStopped := ACreateSuspended; FLock := TCriticalSection.Create; inherited Create(ACreateSuspended); {$IFNDEF VCL6ORABOVE} if (ThreadID=0) then begin RaiseLastWin32Error; end; {$ENDIF} try // <---- ERROR IncThread(SELF); except end; end;
Delphi-Quellcode:
wie kann ich jetzt ca 65000 server auf verschiedenen ports instanziieren?
procedure TForm1.Button1Click(Sender: TObject);
var i:integer; server: Tidtcpserver; begin for i := 1 to 5000 do begin server := Tidtcpserver.Create(nil); server.DefaultPort := i; server.Onconnect := form1.IdTCPServer1connect; server.OnExecute := form1.IdTCPServer1Execute; server.ListenQueue := 1; // <- hat auch nix gebracht server.Active := true; end; end; oder geht das einfacher und ressourcensparender mit einer anderen componente ? |
Re: Indy TCP Server nur max ~100mal instanziierbar ?
nachtrag: es sind genau 123 server die created werden.. der rest landet als exception im nirvana ;)
|
Re: Indy TCP Server nur max ~100mal instanziierbar ?
Zitat:
hat nicht direkt etwas mit deiner Frage zu tun. Aber ist es absicht das Du die Ports von 1 aufwährts belegen möchtest? Da wirst Du so oder so Probleme bekommen! |
Re: Indy TCP Server nur max ~100mal instanziierbar ?
Und selbst wenn: Die Listen-Threads des Indy-Servers, mit er die Connections abhört sind nun mal, na ja, Threads. Und solche Threads verbrauchen Speicherplatz und Rechenleistung. Irgendwann wirds dem rechner zu viel und er lässt dich nicht mehr weitermachen.
BtW: Statt ALLE Ports zu nutzen, einig dich doch auf ein paar, z.B.: -11554 -235 -7856 -9987 ES GIBT VON MIR KEINE!!! GARANTIE, DASS DIESE PORTS AUCH WIRKLICH FREI SIND! |
Re: Indy TCP Server nur max ~100mal instanziierbar ?
Zitat:
|
Re: Indy TCP Server nur max ~100mal instanziierbar ?
Na und wenn schon.
Dann nimmt man halt Port 80 her und hat auch gleich noch 'ne sichere Firewall :mrgreen: |
Re: Indy TCP Server nur max ~100mal instanziierbar ?
Was soll eigentlich der Schwachsinn so viele Server-Instanzen zu erzeugen ?
Gibt es dafür einen logischen Grund ? Willst Du damit einen Portscanner verwirklichen ? Gruß Data |
Re: Indy TCP Server nur max ~100mal instanziierbar ?
Für einen Portscanner braucht man aber nur eine Instanz, aber einen Client, und checkt einfach in einer Schleife alle Ports durch. Nein, der hat was anderes vor...
|
Re: Indy TCP Server nur max ~100mal instanziierbar ?
@Dax:
Deshalb frage ich ja :mrgreen: Konnte mir nicht vorstellen das er so einen Portscanner verwirklichen will. @Supermuckel: Raus mit der Sprache, was soll das Ganze ? |
Re: Indy TCP Server nur max ~100mal instanziierbar ?
@DataCool: Ich schiesse mich an: was soll das ganze?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz