verwaltung von eingeloggten "usern"

Status
Nicht offen für weitere Antworten.
E

elle23

Gast
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

Top Contributor
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.
 
E

elle23

Gast
:) 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

Top Contributor
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

Top Contributor
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.
 
E

elle23

Gast
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

Top Contributor
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.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben