Netzwerkprogramm prüfen



  • Hallo!

    Ich starte von PC A ein Programm, über das Netzwerk, welches auf PC B liegt und will verhindern, das dieses Programm von einem weiterem Rechner gestartet werden kann.

    Einzigste Lösung die mir dazu einfällt wäre eine Status-Datei, die man beim Start des Programmes erstellt, mit Informationen des Anwenders (Account und Computername) und beim Beenden wieder entfernt (sofern das Programm sauber beendet).

    Gibts da noch andere schönere Möglichkeiten im CBuilder(5)?



  • Hallo

    Um keine Mißverständniss aufkommen zu lassen : Es geht dir letztendlich darum das ein Programm auf einem Rechner nur einmal gleichzeitig ausgeführt werden kann? Wenn ich das damit richtig erfasst habe dann kannst du zum Beispiel hier eine Lösung finden.

    Eine andere Lösung die auf einer BCB-Komponente beruht kannst du auch hier finden.

    bis bald
    akari



  • Wenn ich das richtig verstanden habe, dann meint er das ein Programm im Netzwerk nur einmal ausgeführt werden kann.
    Also wenn ein Rechner das Programm gestartet hat, dann soll es für alle anderen im Netzwerk gesperrt sein.



  • Hallo

    Ich interpretiere den ersten Satz so : Ein User startet von seinem Rechner aus über Fernsteuerung auf dem Server ein Programm. Während dieses läuft soll kein anderer User von einem anderem Rechner aus auf demselbem Server nochmal das Programm ausführen können. Deshalb auch die Idee vom OP mit der Datei. Wenn die Sperrung Netzwerkweit sein soll dann würde die Datei auf einem Rechner ja nicht ausreichen.
    Tja da müßen wir eben auf Klarstellung vom OP warten.

    bis bald
    akari



  • Danke, ich meinte das tatsächlich so wie dorg es verstanden hat.

    Das Programm berechnet etwas, wenn mehr als eine Person es starten würden, würde beim beenden der eine die Ergebnisse des anderen überschreiben.

    Ich glaube Word Dokumente haben auch diese Eigenschaft über Netzwerk, wenn das Dokument geöffnet ist, kann kein weiterer es in Word öffnen.

    Das Programm läuft ja nur auf dem Benutzrechner im Speicher, alle Daten liegen ja auf dem Netzwerkrechner.



  • Hallo

    Du willst also in erster Linie nicht ein Programm schützen sondern desen Datei. Da du MS Word ansprichst : das ist einfach der Windows-Schreibschutz. Beim Öffnen der Datei zum Schreiben markiert Windows diese Datei, so das diese Datei nicht noch einmal schreibend geöffnet werden kann. Deshalb merkt Word das und öffnet solche Dateien nur noch mit dem Status "schreibgeschützt".
    Das kannst du natürlich auch nutzen : Öffne die Datei während des ganzen Beabreitungsvorgangs schreibend. Wenn du nun noch bei dem Öffnen der Datei mögliche Systemfehler ala "kann nicht geöffnet werden" abfängst und dementsprechend die Berechnung abbrichst hast du deinen Schreibschutz.

    bis bald
    akari



  • Wenn es nur darum geht, dass die Ergebnisse nicht überschrieben werden, würde ich das nicht so machen. Dann würde ich entweder den Benutzernamen mit in den Ergebnisnamen einbringen, oder dem User die Möglichkeit geben, Pfad und Namen der Ergebnisdatei selbst auszuwählen.



  • Es wird ja an einem Projekt gearbeitet, also muss jeder mit den aktuellen Daten arbeiten, das abspeichern ist nur als Backup gedacht.

    Ich werd also eine Datei erstellen müssen worin ich eintrage welcher Benutzer auf welchem Computer im Netzwerk gerade damit arbeitet und diese Datei wird alle X Sekunden neu überschrieben.

    Damit fange ich eventuelle Rechnerabstürze ab, so das nach beispielsweise 1min Inaktivität jeder wieder darauf zugreifen kann, da Logdatei zu alt ist. Wenn sich der abgestürzte Rechner wieder damit arbeiten will, dann bekommt er einen entsprechenden Hinweis, das er nun ausgesperrt ist.

    Denke das so in der Art wohl die beste Lösung.


Anmelden zum Antworten