![]() |
Anzahl der User im Netzwerk von eigenem programm feststellen
Hallo zusammen
folgendes möchte ich für mein programm lösen. Das Programm (die exeDatei) wird auf den Server in einen freigegebenen Ordner installiert. Nun können die Benutzer entweder von Ihren Clients oder über ihre RDP (Terminal Server) Sitzung dieses Programm starten und damit arbeiten. Also wäre jeder Benutzer dieses Netzwerks im Prinzip in der Lage eine Instanz meines Programmes laufen zu lassen. :evil: Dies möchte ich verhindern je nach erworbener Lizenz sollen nur X Instanzen (also so viel wie Lizenzen erworben sind) gestartet werden können. Das ganze logging soll aber im Ram ablaufen und nicht in dateien oder in Datenbanken gespeichert werden da imho bei einem Stromausfall diese Locking nicht mehr aufgehoben werden würde und so user gesperrt sind die eigentlich arbeiten dürften. Oder sehe ich da was falsch :?: Bin für jede Idee sehr dankbar vielleicht habt ihr ja schon mal so was ähnliches realisiert :coder: |
Re: Anzahl der User im Netzwerk feststellen
Dann müsste das Programm also zählen wie oft es gestartet wurde. Wenn es ein ServerProgramm ist, also die Clienten darauf zugreifen, dann kannst du doch auch die MAximale Bindungszahl begrenzen. Bei IndyServer geht das, glaub ich. Wie es sich anhört hast du doch Zugriff auf die Source und kannst auch ein eigenes System einfügen, das zählt. Zum Beispiel im OnClientConnect Ereignis.
Hoffe es hilft dir weiter. MfG freak |
Re: Anzahl der User im Netzwerk von eigenem programm festste
merci die idee klingt nicht schlecht beide programme sind von mir und sind bestandteil eines kompletten systems.
das eine programm das nur einmal am server läuft könnte wirklich als lizenzserver diehnen und das andere programm das von den usern gestartet wird könnte sich beim start an den server verbinden frage: :?: :?: :?: hab mit indy noch nie was gemacht aber im datenbankprogrammieren und mit delphi bin ich ziemlich fit weist ein gutes tutorial zu indy bzw ist bei delphi bei den indy demos was dabei :?: |
Re: Anzahl der User im Netzwerk von eigenem programm festste
Hm.. hier in der DP einfach mal nach Indy suchen. Da findest du bestimmt eine ganze Menge. Ansonsten
![]() PS: Wenn du die Indys ordentlich installiert bekommst, aknnste mir ja sagen wie es geht. :( MfG freak |
Re: Anzahl der User im Netzwerk von eigenem programm festste
indys sind bei mir dabei demo habe ich von der page geladen die im borland demo ordner unter indys in der txt stehen.
bei den demos ist ein basic client server demo dabei das eine einfache kommunikation realisiert hast du erfahrungen mit indy wie kann ich beim server die anzahl der zur zeit verbundenen clients feststellen |
Re: Anzahl der User im Netzwerk von eigenem programm festste
Hallo zusammen. Ich würde es so machen.
Delphi-Quellcode:
Wenn also die Anzahl ActiveConnections erreicht ist dann Exit oder eine Message.
IF ServerSocket1.Socket.ActiveConnections > X Then Exit;
Das ganze in die Procedure ServerSocket1ClientRead. Ich hoffe du kannst es gebrauchen. :-D Gruß Andrea |
Re: Anzahl der User im Netzwerk von eigenem programm festste
Ich hab eigentlich nur mit dem TCP Client/Server rumgespielt. Da gibt es beim Server eine Eigenschaft: MaxConnections ;) Und bei anderen Servern auch. Versuch es mal damit.
MfG freak |
Re: Anzahl der User im Netzwerk von eigenem programm festste
@ andread hört sich gut an
bin leider indy anfänger wie bekomme ich zugriff auf serversocket1. :wall: bei dem demo ist der TIdTCPServer als serverkomponente verwendet danke für deine hilfe |
Re: Anzahl der User im Netzwerk von eigenem programm festste
Hallo,
Du ziehst dir aus Delphi den IdTcpServer auf deine Form. Anschließend gehst du auf die Eigenschaften des IdTcpServer und klickst doppelt auf den Eintrag OnClientRead. Und dann brauchst du Praktisch nur noch denn Quelltext von gerade einfügen. Ich hoffe das ist richtig was Ich dir hier erzähle, den Ich habe gerade kein Delphi zur Hand. Ansonsten Poste Ich morgen neu :-D Gruß Andrea |
Re: Anzahl der User im Netzwerk von eigenem programm festste
hallo andrea
sorry aber bei der indy komponente TIdTCPServer finde ich kein event onclientread und auch keine property :cry: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:26 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