AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi [Indy] Threadmanager benutzen
Thema durchsuchen
Ansicht
Themen-Optionen

[Indy] Threadmanager benutzen

Ein Thema von Win32.API · begonnen am 11. Jan 2010 · letzter Beitrag vom 13. Jan 2010
 
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#5

Re: [Indy] Threadmanager benutzen

  Alt 12. Jan 2010, 09:20
Hallo Win32.API,

ich habe mir mein Wissen zum Indy ThreadPool sicherheitshalber kurz bestätigen lassen, leider ist das was Du machen möchtest nicht möglich:

Der TIdTCPServer benötigt immer einen Thread pro Verbindung zu einem Client (Socket), wenn weniger Threads da wären, könnten die Clients nicht bedient werden. Wir sprechen hier also wirklich - mit und ohne ThreadPool - von einer 1:1 Relation. Das Pool Limit steuert nur die Anzahl inaktiver Threads. MaxThreads limitiert die Anzahl aktiver Threads, aber dies ist wie erwähnt ein hartes Limit: Wird es überschritten, wird eine Exception geraist und der Client wird unverzüglich disconnected.

Wenn Du jetzt weniger aktive Threads haben willst, kannst Du TIdTCPServer nicht nutzen, sondern mußt irgendeine non-blocking Server-Komponente nutzen oder Deinen eignenen Code für I/O Completion Ports schreiben.

Es gab einen Ansatz dies zu ändern, das Indy SuperCore Package. Hier sollte ein einzelner Thread durch die Nutzung von Fibers mehrere Clients bedienen. Leider wurde das Package nie fertig gestellt und liegt seit Jahren nun herum.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
 


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 12:42 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