Entwickler-Ecke

Internet / Netzwerk - Auslesen der User die gerade das Programm benutzen


der Berliner - Do 11.01.07 21:26
Titel: Auslesen der User die gerade das Programm benutzen
Hi zusammen
mein Prog liegt auf einem Server.
Mehrere user könnten ggleichzeitig mit dem Prog arbeiten.
gibt es eine möglichkeit auszulesen welche User gerade das prog gestartet haben ?

gruß


jaenicke - Do 11.01.07 21:44

Naja, da müsstest du schon etwas genauer werden...
Wie melden sich die Benutzer denn an? Was ist das für ein Server?

Und wie meinst du das "benutzen"? Meinst du, dass du wissen möchtest, welche User gerade eine Exe, die als Freigabe irgendwo liegt, gestartet haben?
Hmm, du könntest in der Shell des Servers das evtl. mit lsof gepiped nach grep herausfinden. Aber dafür musst du eben an die Konsole herankommen können.

Quelltext
1:
lsof | grep xy.exe                    

lsof liefert eine Liste der geöffneten Dateien. Ob da aber auch bei Zugriff übers Netzwerk der User angezeigt wird, weiß ich nicht. Mit grep wird die Ausgabe nach etwas (hier xy.exe) durchsucht.


der Berliner - Do 11.01.07 22:02

Also erstmal Danke für die Schnelle Antwort
aber das wird mir glaub ich zu kompliziert..
also die User melden sich an ihrem rechnen über XP prof. an
da ich kein Admin bin hab ich keinen plan was das fürn server is.
gruß


jaenicke - Do 11.01.07 22:08

Ohne Administratorenrechte auf dem Server geht das sowieso nicht...

Ich würde da eher, da das Programm ja im lokalen Netzwerk benutzt wird, nach dem Prinzip des LanChats hier [http://www.delphi-forum.de/viewtopic.php?t=62096] vorgehen. So findest du alle laufenden Programme...
Ob das sinnvoll ist, sei mal dahingestellt. Funktionieren würde es jedenfalls so. Lediglich FireWalls, die den Zugriff aufs Netzwerk blockieren, könnten verhindern, dass alle gefunden werden.


der Berliner - Do 11.01.07 22:30

Ok..vielen Dank für die Mühe.
gruß


Reinhard Kern - Fr 12.01.07 02:57

user profile iconder Berliner hat folgendes geschrieben:
Ok..vielen Dank für die Mühe.
gruß


Hallo,

wenn du so etwas brauchst wie eine "Floating License" (5 User dürfen, mehr nicht, egal wo), dann must du das wahrscheinlich selbst als Software schreiben. Ich kenne das von sehr teuren Programmen (CAD/CAM), da war das immer in der Software proprietär implementiert, meistens verbunden mit einer eigenen, BS-unabhängigen User-Verwaltung.

Eine beispielhafte Realisierung installiert auf dem Server einen Dongle und einen Dienst, der diesen Dongle und eine Lizendatei auswertet, und die Client-Software holt sich bei diesem Dienst eine Lizenz, wenn noch eine frei ist.

Gruss Reinhard