Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#1

TCP Client/Server Statusüberwachung

  Alt 9. Mai 2006, 10:47
Hallo zusammen,

ich benötige für meine Anwendung eine Lizenzkontrolle und entwickle gerade einen Lizenzserver für meine Multi-User-DB-Anwendung (modular aufgebaut).

Folgendes soll per TCP/IP passieren:

- beim Start des Clients soll überprüft werden, ob die freie Useranzahl in der Lizenz noch ausreicht, um einen Programmstart zuzulassen
- sofern ein Client connected ist, soll er sich regelmäßig beim Lizenzserver melden. Zum einen, damit klar ist, wieviel Clients gerade laufen und zur Überprüfung, ob ein Client evtl. verreckt ist, um diesen wieder freizugeben
- innerhalb des Clients startet der User "Module" (Pakckages), die quasi jeweils eine eigene Anwendung im Hauptclient (Rahmenprogramm) darstellen. Auch zu diesen Modulen gibt es Lizenzinformationen. Wie beim Client wird beim Aufruf eines Moduls geprüft, ob die maximale Userzahl für das Modul (bzw. eine Form in ihr) schon erreicht ist. Sofern der Start in Ordnung geht, meldet sich das Modul (bzw. die Form) auch regelmäßig beim Lizenzserver

Der Lizenzserver (als Service) ist soweit, dass er die Lizenzen aus einer DB einliest und verwaltet.

Mir stellt sich jetzt designtechnisch die Frage, wie ich die Statusmeldungen realisiere und da sehe ich 2 Möglichkeiten:

1. permanente Verbindung vom Start des Clients bis zur Beendigung
2. regelmäßige "Pingen" der Stati

Variante 1 hat aus meinem Empfinden den Nachteil, dass dann beim Server-Rechner n TCP-Verbindungen aufrecht erhalten werden (momentan nutzen maximal 30 User das System gleichzeitig, was aber nach oben hin offen sein kann).

Viele Grüße
Igotcha
  Mit Zitat antworten Zitat