Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dienst und Oberfläche (https://www.delphipraxis.net/68212-dienst-und-oberflaeche.html)

Igotcha 26. Apr 2006 12:56


Dienst und Oberfläche
 
Hallo zusammen,

ich bin dabei, mir für meine Multi-User-Anwendung einen "Lizenz"-Dienst zu erstellen, was erfreulicherweise auf Anhieb recht gut funktioniert. Nun hätte ich dazu gerne eine Oberfläche, um den Dienst zu starten, zu benden und um einige Informationen abzurufen. Momentan realisiere ich es mit einer einfachen Webstatistik, indem mir der TCP-Server (Indy) in meinem Dienst beim OnConnect eine kleine Statistik zurückgibt.

Mein "Lizenz"-Server macht nichts anderes, als die zu den Programmmodulen hinterlegten Lizenzen einzulesen (in denen Anzahl maximal gleichzeitiger User, etc. hinterlegt sind) und Client-Starts entweder zuzulassen, oder abzuweisen.

Ich würde aber gerne eine Windows-Oberfläche haben und dazu habe ich hier einiges über named Pipes und Mailslots zu dem Thema gefunden.

Eine hübsche Anzeige, in Form z.B. eines Treeview, wieviele Benutzer gerade welches Modul aufrufen, Status der Verbindung, etc. wäre, was mir funktionell vorschwebt - in etwas wie der "MySQL-Administrator", wo ich in "Echtzeit" z.B. die Auslastung des Servers (Anzahl Connections, Traffic, etc. als Graphen) sehen kann. Fordert der Administrator dazu (mehr als) sekündlich Informationen vom Server an, bzw. ist das in diesem Fall auch mit Pipes oder Mailslots umgesetzt?

Vielel Grüße
Igotcha

franktron 26. Apr 2006 13:07

Re: Dienst und Oberfläche
 
Du hats doch schon einen TCP Server warum machste nicht einfach eine TCP Client Anwendung.

Dann könnstest du auch von einem Anderen PC als nur vom Server diese Daten auslesen.

P.S. um lokal eine Verbindung herzustellen nimm 127.0.0.1

Igotcha 26. Apr 2006 13:22

Re: Dienst und Oberfläche
 
Ja, ich habe eine Client-Server-Verbindung über TCP.

Wie gesagt habe ich momentan eine einfache lösung, dass ich mich mit dem Browser einfach nur zum Server auf dem Port 7000 connecte und mir der Dienst im OnConnect per Writeln die Informationen rudimentär aufbereitet zurück liefert.

Über TCP mit eigenem Client stehe ich jetzt allerdings vor dem Problem des Umsetzens, denn ich habe folgende Struktur zu übermitteln:
Delphi-Quellcode:
LIZENZEN (TObjectList)
+--Lizenz1 (TLizenz [quasi das Modul] beinhaltet eine TObjectList mit den Formularen)
   +--Form1 (TLForm beinhaltet eine TObjectList mit den Usern bzw. Connections)
      +--User1
      +--User2
   +--Form2
+--Lizenz2
+--Lizenz3
In der momentan genutzen Ausgabe bereite ich diese über For-Next-Schleifen über alle Objekte auf, aber wie könnte ich die gezeigte Struktur "einfach" per TCP an den Steuerungs-Client übermitteln?

Die Arbeits-Clients connecten sich ganz simpel mit einem Code für LOGIN, ALIVE (im 10 Sekunden-Takt)und LOGOUT und bekommen jeweils einen JA/Nein-Return-Code zurück, auf den sie dann reagieren.

Viele Grüße
Igotcha


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:23 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