Forum: PC-Programmierung Status eines Programmes auf einer Website ausgeben


von PHP-Freund (Gast)


Lesenswert?

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

von S. K. (nullgeist)


Lesenswert?

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.

von Peter II (Gast)


Lesenswert?

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

von PHP-Freund (Gast)


Lesenswert?

Wow, das gab ja echt schnell Antworten - toll:)

Danke für die schnellen und tollen Antworten

von Markus D. (mowlwurf)


Lesenswert?

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.

von Jan H. (j_hansen)


Lesenswert?

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.

von Hank P. (hp67)


Lesenswert?

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...

von ♪Geist (Gast)


Lesenswert?

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.

von Andreas J. (andreas_j)


Lesenswert?

♪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
Noch kein Account? Hier anmelden.