# verwaltung von eingeloggten "usern"



## elle23 (1. Aug 2007)

hallo,
ich arbeite zur zeit an eineem verwaltungsserver. ich bekomme von verschiedenen maschinen daten zugeschickt die ich dann verwalte.

also die maschinen sollen meinee user darstellen. jede maschine sendet beim start ein signal das mich erkennen lässt das diese jetzt online ist.
nur wie kann ich das dann anzeigen ?

ich hatte mir das so gedacht das ich das start signal bekomme, dann weiss ich die maschine ist online. dann muss diese alle 1min oder 5min ein status signal senden ob die maschine noch läuft.
falls das nicht der fall ist dann wird sie automatisch auf offline geschaltet.

das ganze möchte ich dann mittels servlet und jsps darstellen.
nur wie oder wo speicher ich dann die stati der verschiedenen maschinen ???

hoffe ihr könnt mir helfen.


vielen dank

gruß
sebastian


----------



## KSG9|sebastian (1. Aug 2007)

Du kannst am Server auf nem bestimmten Port horchen. Ein Client connected zu dem Server (Client=Maschine=User) und sendet alle x Sekunden ein Signal.
Der Server speichert die verschiedenen Stati in ner Datenbank und macht bei ner Änderung ein Update. Dein Servlet oder was auch immer liest die Daten dann aus der DB aus und zeigt sie an.


----------



## elle23 (2. Aug 2007)

genauso hab ich mir das auch gedacht. das ich nen status signal bekomme.. solange das da ist ist alles gut. nur wie merk ich wenn keins mehr kommt ? also ich muss irgendwie ne zeitbedingte abfrage starten. oder ne zeit ablaufen lassen , wenn bis ende diesere zeit kein signal gekommen ist dann ist die maschine offline.

wie kann ich das am besten realisieren ??


danke


----------



## KSG9|sebastian (3. Aug 2007)

Du startest am Client nen Socket und sendest zum Server alles 5Sek ein Signal. Wenn am Server nichtsmehr ankommt -> disconnect??
Schau mal in die FAQ nach Threading/Multithreading/Chatclient. 

Ist ja nichts anderes als ein Chat, nur dass es keine Usereingaben gibt


----------



## freez (3. Aug 2007)

Die Status (nicht Stati) kannst du dir entweder in einer Datenbank vorhalten ... hätte den Vorteil, das du noch mehr ablegen kannst, um rückwirkend Sachen zu sehen. Ansonsten kannst du es auch in dem Servlet selbst als List oä. abspeichern. Nachteilig ist, das alles Weg ist, wenn der Server mal neu startet. Man könnte es aber auch noch in einem File zusätzlich ablegen.

Ich gehe mal davon aus, das du die Status in einer JSP ausgeben willst.

Dort wo du die Daten ablegst, legst du dir die Zeit auch mit ab, wann sich die Maschine das letzte mal gemeldet hat. Dazu speicherst du dir die Zeit von der letzten Meldung und wenn die Zeitspanne beim Aufruf der JSP zu groß ist, dann ist sie offline. Und um eine Maschine übers Netzwerk zu überprüfen, ob sie online ist, gibt es jede Menge Infomaterial bei google und hier in dem Sucher.


----------



## elle23 (6. Aug 2007)

also es werden alle ankommenden daten in einer db gespeichert.

wie kann ich das denn mit einem timer realisieren ?
irgednwie muss ich eine funktion loslaufen lassen bevor eine bestimmte zeit abelaufen ist.
das mit der funktion das die bei ankommenden daten gestartet wird ist kein problem. aber wie mache ich das mit dem timer ??

lg


----------



## freez (8. Aug 2007)

Du brauchst doch keinen Timer. Du speicherst dir in deiner Datenbank den Zeitstempel des letzten Telegrammes. Und wenn du deine Status Seite aufrufst, werden einfach zu alte Zeitstempel als offline gekennzeichnet und aktuelle (z.b. Abstand zum Aufruf der Seite kleiner 5 Minuten) als online. Ich hoffe geholfen zu haben.


----------

