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 10. Mai 2004 · letzter Beitrag vom 10. Mai 2004
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von DataCool
DataCool

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

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

  Alt 10. Mai 2004, 13:54
@Dax: Dummheit ?
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#12

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

  Alt 10. Mai 2004, 14:06
Zitat:
Ich schiesse mich an: was soll das ganze?
Aua!
Julian J. Pracht
  Mit Zitat antworten Zitat
supermuckl

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

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

  Alt 10. Mai 2004, 20:12
lol cool data gibts auch hier und nicht nur auf der enterprise *freu*

also..

1. an den threads selbst kanns wohl net liegen da ich nen delphi thread ( TThread ) z.b. 1000 mal zugleich instanziieren kann
ohne ein bisschen viel speicher zu verbrauchen !

2. nein kein portscanner..

3. nein ich will auch net nur paar ports haben ich will alle

also um es kurz zu sagen ( sonst wird man ja nur immer belehrt wieso man so blöd ist und nich nur 10 ports benutzt.. )

man startet dieses programm auf einem pc wo hinter nem router mit NAT steht
das prog macht ( bestenfalls ) auf allen freien ports einen server socket auf und listet auf ankommende connections
wenn ich nun mit einem portscanner auf den router ( die internet anbindung ) checken würde und gleichzeitig irgendwie die messages von meinem programm abfangen könnte wo mir sagen auf welchem port ich durch NAT reingekommen bin dann weis ich welche ports geforwardet sind ganz einfach !

ok man kann das auch klein bisschen anderst machen das der server nur 100 ports öffnet.. dann wieder 100 andere usw
aber mal die grundsätzliche frage.. wo hängts bei dem scheiss teil ? die threads könnens nich sein das könnt ihr mir nich erzählen.. ich kann tausende threads aufmachen und z.b. in jedem thread wiederum n TidICMP instanziieren und nen multithreaded pinger bauen !
also wieso zum geier hat der kack so eine beschränkung drinne o_O *nixblick*

Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

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

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

  Alt 10. Mai 2004, 20:56
Hi supermuckl,

ich denke schon das Dein Problem an den Threads liegt, denn
jeder IdTCPServer ist dafür designd um Multi-Threaded viele Connections zu behandeln,
d.h. das jede Serverinstanz ein gewissenheit Overhead benötigt;
z.B. ist eine der privaten Variablen des IdTCPServers
FThreads: TThreadList;
ist und wenn Du den Constructor von TThreadList etwas näher anschaust wirst Du feststellen, das
jede ThreadList widerrum
FLock: TRTLCriticalSection;
verwendet.

Darum ist klar das Du 1000 TThread Instanzen nicht mit 1000 TIdTCPServer Instanzen vergleichen kannst, weil zusätzlich noch jeweils 1000 CriticalSections erzeugt werden; denn restlichen Overhead nicht mit betrachtet.

Natürlich kannst Du auch 1000 TidICMP Instanzen erzeugen, weil da nicht der Overhead zur Threadverwaltung benötigt wird.

Die Lösung deines Problems hast Du selber schon genannt:
Einfach weniger Instanzen erzeugen und nach und nach alle Ports durchgehen.

Zitat:
also wieso zum geier hat der kack so eine beschränkung drinne o_O *nixblick*
Die Leute von "nevrona" haben ganz umsonst die Komponenten entwickelt, wie würdest Du das finden, wenn du Dich jahrelang um die Entwicklung und Pflege eines Produktes kümmerst und damit eine der besten "Internet-Komponenten-Sammlung" geschaffen hast und
dann kommt jemand des Weges der die Arbeit als selbstverständlich hinnimmt und sie auch noch beschimpft ?
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
supermuckl

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

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

  Alt 10. Mai 2004, 23:44
nimm mal nich so wörtlich

@Dax: Dummheit ? <- *übersehenhab* :/

und unterstell mir mal net das ich die arbeit net würdige von nevrona

ich weis das die indy komponenten die besten sind keine frage

mir is klar das ein tidtcpserver mehrere threads verwalten kann usw.. aber das das dann gleich bei 123 instanzen ein limit haben muss is ja schon hart.. wenn ich da an den rest denke wo ich schon gemacht hab da is das *flach gesehen* n klacks ?!

ok dann muss ich mal schauen ob ich was mit sockets erreichen kann ( mit einem thread je server oder komplett selbst gemacht )
da dürfte dann nichmehr soviel overhead drin stecken ^^

und wenn alle stricke reissen mach ich das mit wechselnden ports ( unschön aber tut )

wüsste jemand auf die schnelle was da am besten wäre als tcp server ?
da gibts ja die fastnet teile von D6.. dann hab ich da noch die ICS componenten... dann noch die indy sockets..

jemand erfahrung was da am geeignetsten wäre ?

Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:57 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