Kurzbeschreibung
Parameter Funktionsweise Ein/Ausgänge Limitierungen Querverweise Beispiele
 | Kurzbeschreibung
Das Modul HTTPServer implementiert
das HTTP-Protokoll und kann in Verbindung mit dem Modul TCPServer
als Web-Server verwendet werden. |
 | Parameter
 | Parameter: Parameterquelle
intern, extern oder Datenbank. |
 | Root
 | Pfad: Verzeichnis das bereit
gestellt werden soll. |
 | Datei: Datei die standardmäßig
bereit gestellt werden soll. |
|
|
 | Funktionsweise
Um einen Web-Server zu erhalten,
werden Dateien (HTML-Seiten, Images, ...) benötigt, die an Clients (z.B. Internet
Explorer, Netscape) geschickt werden können. Als Pfad muß das Startverzeichnis für
diese Dateien angegeben werden. Außerdem muß eine Startdatei angegeben werden, die als
Hauptseite an den Client geschickt wird (z.B. index.html).
Das Modul kann gleichzeitig beliebig viele Anfragen bearbeiten, weshalb jede Anfrage eine
eindeutige Identifikation benötigt. Eine Anfrage wird von den Eingängen Command-ID und
Command-Text eingelesen. Die Anfrage wird dann bearbeitet und an den Ausgängen
Response-ID (identisch zu Command-ID) und Response-Text wird das Ergebnis bereitgestellt.
Das ist im Normalfall eine Datei, im Fehlerfall ein Fehlertext (Datei nicht gefunden,
Kommando nicht erkannt, ...).
Um das HTTP-Kommando POST (wird für CGI-Scripts oder ähnliches verwendet) bearbeiten zu
können, gibt es die Ausgänge POST-ID und POST-Text. An diesen Ausgängen wird das
POST-Kommando als String ausgegeben und kann von Folgemodulen weiterverarbeitet werden
(z.B. Interpret). Es können damit auch Emails verschickt
werden (z.B. mit dem Modul EMail). Auf eine POST-Anforderung muß
eine Antwort an den Client geschickt werden. Diese wird an den Eingängen Response-ID und
Response-Text erwartet. Hier kann ein HTML-formatierter Text gesendet werden, z.B. "Ihre
Anfrage wurde erfolgreich bearbeitet".
|
 | Ein-/Ausgänge
Eingänge
|
EXT, DB |
UBYTE[]{root_path},
UBYTE[]{root_file} |
Parametrierung des Moduls
über externe Quellen wie ParamConv oder DBLoad |
Command-ID |
TYPEINFO{TypeInfo}
SWORD[1]{SCALAR} |
Anfrage-ID |
Command-Text |
TYPEINFO{TypeInfo}
UBYTE[]{Text} |
Anfrage Text |
Response-ID |
TYPEINFO{TypeInfo}
SWORD[1]{SCALAR} |
Antwort-ID auf POST
Kommando |
Response-Text |
TYPEINFO{TypeInfo}
UBYTE[]{Text} |
Antwort Text auf POST
Kommando |
Ausgänge |
Response-ID |
TYPEINFO{TypeInfo}
SWORD[1]{SCALAR} |
Antwort-ID |
Response-Text |
TYPEINFO{TypeInfo}
UBYTE[]{Text} |
Antwort Text |
POST-ID |
TYPEINFO{TypeInfo}
SWORD[1]{SCALAR} |
POST Kommando-ID |
POST-Text |
TYPEINFO{TypeInfo}
UBYTE[]{Text} |
POST Kommando Text |
|
 | Limitierungen
- |
 | Querverweise
TCPServer |
 | Beispiele
Diese Beispiel zeigt einen einfachen Web-Server, der auch
POST-Anfragen bearbeiten kann. Das Modul Interpret interpretiert die Anfrage, schickt
einen Mail-Text an das Modul EMail und schickt eine Antwort zurück an den Server, der
diese weiter an den Client schickt. Die Module MultiCom werden wegen der
Übersichtlichkeit verwendet (weniger Rückkopplungen) und auch, damit POST-Anfragen erst
beantwortet werden, bevor weitere Anfragen angenommen werden. Der TCP-Server ist auf Port
80 (HTTP) eingestellt, der HTTP-Server auf ein Verzeichnis, das eine Homepage beinhaltet.
 |
|