AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy TCP Server nur max ~100mal instanziierbar ?
Thema durchsuchen
Ansicht
Themen-Optionen

Indy TCP Server nur max ~100mal instanziierbar ?

Ein Thema von supermuckl · begonnen am 9. Mai 2004 · letzter Beitrag vom 10. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#1

Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 9. Mai 2004, 23:25
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:
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;
der code womit ich instanziiere:

Delphi-Quellcode:
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;
wie kann ich jetzt ca 65000 server auf verschiedenen ports instanziieren?
oder geht das einfacher und ressourcensparender mit einer anderen componente ?
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 9. Mai 2004, 23:58
nachtrag: es sind genau 123 server die created werden.. der rest landet als exception im nirvana
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 05:42
Zitat von supermuckl:
...

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
server: Tidtcpserver;
begin
  for i := 1 to 5000 do
  begin
    server := Tidtcpserver.Create(nil);
    [color=red]server.DefaultPort := i;[/color]
  end;
end;
...
Hai supermuckl,

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!
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 06:25
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!
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 06:33
Zitat von Dax:
...ES GIBT VON MIR KEINE!!! GARANTIE, DASS DIESE PORTS AUCH WIRKLICH FREI SIND!
Laut RFC sind auf jeden Fall die Ports bis 1024 "reserviert" Inzwichen glaube ich sind sie sogar noch höher gegangen.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 12:22
Na und wenn schon.

Dann nimmt man halt Port 80 her und hat auch gleich noch 'ne sichere Firewall
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 12:38
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
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#8

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 12:44
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...
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 12:50
@Dax:
Deshalb frage ich ja Konnte mir nicht vorstellen das er so einen Portscanner verwirklichen will.

@Supermuckel:
Raus mit der Sprache, was soll das Ganze ?
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#10

Re: Indy TCP Server nur max ~100mal instanziierbar ?

  Alt 10. Mai 2004, 12:50
@DataCool: Ich schiesse mich an: was soll das ganze?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz