Hallo zusammen Ich habe eine etwas theoretische Frage und zwar: Wie kommuniziert ein Programm mit einer Website, so dass Daten aus dem Programm auf der Webseite dargestellt werden können. Ich mach mal ein Beispiel: Es soll auf einer fiktiven Webseite nachgesehen werden können, wie weit ein fiktives Video-Konvertierungsprogramm schon ist (also wieviel Prozent). Mir fällt da nur diese Möglichkeit ein: -Das Konvertierungsprogramm schreibt periodisch den aktuellen Stand in ein File, welches dann vom Webserver ausgelesen wird Wie wird soetwas "in der Realität" gelöst? z.B.: bei einer Wetterstation. Hat jemand gute Links dazu? Liebe Grüsse PHP-Freund
Bei langsamem Output genau so. Ansonsten wird für jeden Aufruf der Webseite ein Programm gestartet, dass die Daten abfragt (von den Sensoren oder einem anderen Programm, z.b. per Netzwerk oder über einen anderen Kommunikationsweg) und die HTML-Seite dann passend generiert und zurückgibt, die der Webserver dann an den Anfragenden ausliefert.
PHP-Freund schrieb: > Wie wird soetwas "in der Realität" gelöst? z.B.: bei einer > Wetterstation. Hat jemand gute Links dazu? im einfachsten Fall ist beiden in einem Programm drin (webserver und prog) oder wenn man nicht über dateien gehen will, gibt es ja noch die Interprozesskommunikation http://de.wikipedia.org/wiki/Interprozesskommunikation
Wow, das gab ja echt schnell Antworten - toll:) Danke für die schnellen und tollen Antworten
Hi, sowas könnte man zum Beispiel mit AJAX lösen: ein Javascript der Webseite fragt über das XMLHttpRequest-Objekt beim Webserver den Bearbeitungsstatus ab und wertet die empfangene Zahl aus.
Bei "interaktiven" Webservern läuft im Normalfall ein Web- Framework im Hintergrund (z.B. über CGI an den Webserver angebunden). Dieses generiert die HTML-Seiten (oder andere Antworten) on-demand (also erst beim konkreten Aufruf) und kann dabei auch auf das System zugreifen.
Hatte mal ein ähnliches Problem, und habe dann einfach einen Minimal-Webserver direkt in das Programm mit reingebaut. Dieser war dann (mittels einem Reverse-Proxy) einfach und nahtlos integriert auf einer Webseite zu erreichen. Vielleicht für deinen Zweck overkill, aber will mal kurz die Möglichkeit darlegen...
Also, wie du schon gesagt hast eine von vielen Möglichkeiten wäre via FTP ein Textfile hoch laden. In deinem Fall "Wetterstation" würde ich die Temperatur via GET oder POST request an eine PHP/CGI Seite übergeben und auf dem Server zwischen speichern. Das ist der einfachste Weg, um beispielsweise von einem AVR-NETIO Board die Werte an einen Server zu übergeben. Wenn der Webserver es erlaubt Socket Verbindungen aufzubauen und du beispielsweise beim Apache die Rechte besitzt timeout dafür einstellen zu dürfen, wäre es noch einfacher. Vom PC aus könnte man aber z.B. über ein kleines VB/C# Tool direkt in die MySQl Datendank des Servers zu schreiben. Textfile per FTP wäre die einzige Möglichkeit, wenn dein Server keine Unterstützung für PHP/CGI etc. hätte. Da müsste man entweder komplette Seite hoch laden mit dem aktuellen Wert oder eine Ergebnisseite im iframe anzeigen lassen.
♪Geist schrieb: > Also, wie du schon gesagt hast eine von vielen Möglichkeiten wäre via > FTP ein Textfile hoch laden. Genau so mache ich es z.B. auf meiner Webseite. Ich habe mir ein Perl-Script geschrieben, über das ich auf meinem Rechner installierte Spiele starte. Dieses trägt das aktuell gestartete Spiel in eine Datei ein und lädt dieses per FTP (ich nutze hier das Tool NcFTP) auf meiner Webseite hoch. Diese Datei wird von meiner Webseite (komplett in Perl geschrieben) eingelesen und der Inhalt angezeigt. So kann jeder Besucher sehen, was ich gerade spiele.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.