Beschreibung

Display Server Konzept

Der Server soll es ermöglichen, Daten aus den Logfiles des Relationship-Projektes für das Web verfügbar zu machen. Die grafische Aufbereitung der Daten liegt bei den nachfragenden Clients.

Display Server

Installation des Servers

Der Server muß auf dem Rechner laufen, auf dem der Webserver läuft, da von ihm aus die Client-Applets verschickt werden. Es muß eine JVM installiert sein.

Starten des Servers

Der Server wird durch einen Aufruf
     java dispServ
gestartet. Der Port auf dem die Anfragen empfangen werden ist dann 4444. Es wird alle 2 Sekunden nach neuen Daten gesucht, die in einem ASCII File 'x.dat' (default) vorhanden sein müssen.

Der Aufruf mit dem Parameter -? bringt eine kleine Hilfe zum Aufruf:

call: java dispServ [-p xxxx] [-d sec] [-f filename] [-d]

port      change the default 4444 to xxxx
time      in sec to control for new data
file      name of the data input file
debug     show user
Die Parameter können entsprechend geändert werden.

Daten für den Server

Die Daten kommen aus dem angegebenen File oder aus der voreingestellten Datei 'x.dat'. Sie werden nach der vorgegebenen Taktrate (default sind 2 Sekunden) aktualisiert, falls sich das Filedatum geändert hat. Sie haben das Format:
displaytyp   Semikolon   Datum

log;331.2
Es können ohne Serverstopp auch neue Displaytypen dazukommen.


Display Client

Client einrichten

Der Client wird wie gewohnt als Applet auf einer Seite installiert. Zusätzlich werden einige Parameter benötigt:

ParameterWert
width/heightDie Appletgröße richtet sich nach den gewünschten Imagegrößen
beforeVor der Ziffernausgabe kann ein Bitmap ausgegeben werden.
afterAuch nach den Ziffern kann eine Grafik stehen.
dirDie Ziffern und auch die Bitmaps davor und dahinter liegen in diesem Verzeichnis.
numbersAnzahl der Stellen vor dem Komma.
decAnzahl der Nachkommastellen.
bgcolorDie Hintergrundfarbe für die Ziffern, falls diese nicht dargestellt werden.
portFalls der Port vom Default 4444 abweichend ist, muß der Client wissen, wo er nachfragen soll.
delayDie Abfragezeit in Sekunden. Wie lange soll der Client auf neue Daten warten.
typDer Displaytyp, der beim Server nachgefragt werden soll.
originalDas Display soll den eingehenden Text unbearbeitet übernehmen (value="on"). Dies setzt voraus, daß alle Zeichen als Bitmaps vorhanden sind. Bisher sind folgende Zeichen definiert und von in ihren Dateinamen festgelegt:
0 - 9   Ziffern
10      der Dezimalpunkt
11      das Minuszeichen
12      der Doppelpunkt
13      das Gradzeichen
14      das Hochkomma
15      N
16      S
17      E
18      W

Ein Beispiel:

<applet code="display.class" width=106 height=20>
<param name= "numbers" value=5>
<param name= "dec" value=1>
<param name= "port" value=4444>
<param name= "delay" value=20>
<param name= "bgcolor" value="black">
<param name= "dir" value="led">
<param name= "typ" value="log">
</applet>

Client Abfragezeiten

Die Refreshzeit für den Server beträgt 2 Sekunden (default), für den Client liegt sie bei 10 Sekunden. Es ist zu prüfen, wie das Zeitverhalten wird, wenn auf einer Seite z. B. 10 Displays untergebracht sind und von der Seite hundert abgefragt wurden. Dazu schlage ich eine Gewichtung vor, z.B. müssen die aktuellen versegelten Meilen nicht alle 10 Sekunden aktualisiert werden.

Client analog

Zusätzlich gibt es ein Analogdisplay. Dazu ist ein Bitmap für den Hintergrund notwendig. Der Zeiger ist jeweils zentriert.

Zusätzliche Parameter:

ParameterWert
imageDas Hintergrundbild
handlengthDie Länge des Zeigers
handcolorDie Farbe des Zeigers
nullpunktDer Anfangspunkt des Zeigers (als Winkel)
endpunktWie weit darf der Zeiger ausschlagen (als Winkel)
min/maxgeben die entsprechenden Wertebereiche für die auszugebenen Daten an

Ein Beispiel:

<applet code="analog.class" width=170 height=150> 
<param name= "image" value="images/Wind.gif">
<param name= "handlength" value=50>
<param name= "handcolor" value="white">
<param name= "delay" value=20>
<param name= "typ" value="winddir">
<param name= "nullpunkt" value=0>
<param name= "endpunkt" value=360>
<param name= "min" value=-180>
<param name= "max" value=180>

Erlaubte Farben sind:

    BLACK
    BLUE
    CYAN
    DARKGRAY
    GRAY
    GREEN
    LIGHTGRAY
    MAGENTA
    ORANGE
    PINK
    RED
    WHITE
    YELLOW


A. Fischer, afischer@dbServ.de
home  txt.home