next up previous contents
Next: Synchronisation und Geschwindigkeitsoptimierung Up: Konzeption und Realisierung der Previous: JPEG-Komprimierer

   
Internetserver

Der Internetserver der Internetkamera ist ein minimaler HTTP-Server, der nur die Methode GET unterstützt (siehe Tabelle 2.3 in Kapitel 2.2.5).
Beim Starten der Internetkamera wird der HTTP-Server initiiert. Dateien, die der Client später vom HTTP-Server abrufen können soll, werden in den Arbeitsspeicher des MBX-Boards geladen. Dateiname, Speicheradresse und die Länge der Dateien werden dem Server mitgeteilt. Der HTTP-Server kommuniziert mit dem Client über eine Socketverbindung. Dazu werden die Funktionen aus der Socket-Bibliothek von VxWorks verwendet. Nach dem Erstellen und Konfigurieren der Socket-Verbindung durch die Funktionsaufrufe socket(), setsockopt() und bind(), wird dem Client vom Server durch den Funktionsaufruf connect() erlaubt, einen Verbindungswunsch mitzuteilen. Ein eigenständiger Task wird gestartet, der auf die Anfrage des Clients durch Aufrufen der Funktion accept() wartet und diese gegebenenfalls abarbeitet.
Im Folgenden wird beispielhaft die HTTP-Anfrage des Netscape Browsers Version 4.51 gezeigt. Der theoretische Aufbau einer Client-Anfrage wurde bereits in Kapitel 2.2.5 beschrieben.

messsage GET /aus.jpg?prerow=243 HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.51 [de] (WinNT; I)
Pragma: no-cache
Host: 192.44.3.200
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Encoding: gzip
Accept-Language: de
Accept-Charset: iso-8859-1,*,utf-8
Hat der HTTP-Server diese Datei im Speicher, beantwortet er die Anfrage mit:

HTTP/1.0 200 OK
Content-type: image/jpeg
Content-Length: 9564

<JPEG-kodierte Bilddaten>
Eine Besonderheit ist die Request-URL des Clients. Normalerweise ignoriert ein HTTP-Server die Zeichen nach einem Fragezeichen. Der HTTP-Server der Internetkamera verwendet die zusätzliche Information nach dem Fragezeichen zur Steuerung der Helligkeit des CMOS-Sensors, indem der Wert der Variablen PREROW übergeben wird. Dieser Wert wird der Steuerung des CMOS-Sensors durch das in Abschnitt 3.2.1 dargestellte Verfahren übermittelt. Auf diese Weise kann der Benutzter des Browsers die Internetkamera fernsteuern. Folgende URL setzt PREROW auf den Wert 200, wobei 192.44.3.200 als IP-Adresse der Internetkamera angenommen wird:
http://192.44.3.200/aus.jpg?prerow=200
Dieses Verfahren der Kommunikation zwischen HTTP-Server und Client ist nicht Bestandteil des HTTP-Protokolls, sondern eine zusätzliche proprietäre Vereinbarung zwischen Client und Server, die an die GET-Methode des CGI-Interface erinnert. Internetserver, die CGI3.14 unterstützen, könne Informationen des Clients nach den CGI-Spezifikationen an ein CGI-Skript weiterleiten und Informationen vom Skript entgegennehmen. CGI wird in der Praxis bei fast allen Suchmaschinen im Internet eingesetzt. Nach der Eingabe des Suchbegriffs durch den Anwender erfolgt eine Anfrage nach der HTML-Seite mit den Treffern der Suche. Dem Server wird durch die Information nach dem Fragezeichen der Suchbegriff des Anwenders mitgeteilt. Der Server stellt mit Hilfe des CGI-Skripts die Seite mit den Treffern der Suche zusammen und sendet seine Antwort an den Client. Folgende URL wird z.B. von der bekannten Suchmaschine ,,YaHoo`` bei Eingabe der Suchbegriffe Internet und ISDN aufgerufen.
http://search.yahoo.com/bin/search?p=internet+ISDN


 
next up previous contents
Next: Synchronisation und Geschwindigkeitsoptimierung Up: Konzeption und Realisierung der Previous: JPEG-Komprimierer
Thorsten Thormaehlen
2000-03-27