PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : live status auf website



DCr33P
12-12-2006, 19:44
Moin!

Bin relativ neu im Bereich Web Programmierung und habe eine Frage...

Wie kann ich einen bestimmten teil einer Seite vom Rest der seite abkapseln, so dass ich darin "live" statusinformationen anzeigen kann?
Will nämlich in einer kleinen ecke von der seite ein cgi skript laufen lassen, welches ständig prüft ob mein server online ist und in regelmäißgen abständen das ergebnis zeigt. Der rest der seite soll aber unverändert bleiben...
Löst man sowas mit java skript oder welche Ansätze braucht man da?

Danke für die Hilfe

Dcr33P

msi
12-12-2006, 20:18
hast mehrere möglichkeiten:

a) per ajax den bereich in regelmäßigen abständen neu laden
b) per iframe und meta refresh den abstand regelm. neu laden
c) die verbindung des servers nie beenden. Wenn sich der Status ändert, schickt der server einen Javascript Code, der den entspr. teil der seite ändert.

Romanday
13-12-2006, 07:02
Moin!

Bin relativ neu im Bereich Web Programmierung und habe eine Frage...

Wie kann ich einen bestimmten teil einer Seite vom Rest der seite abkapseln, so dass ich darin "live" statusinformationen anzeigen kann?


Was für Statusinformation meinst Du denn.



Will nämlich in einer kleinen ecke von der seite ein cgi skript laufen lassen, welches ständig prüft ob mein server online ist und in regelmäißgen abständen das ergebnis zeigt.

Wenn dein Server nicht online ist, wird per HTTP auch nix ausgeliefert.
Dein Script würde also in diesem Fall unnötig den Server belasten.

Tip: So was löst man nicht per HTTP, sondern per Shellscript.
z. B. bekommst Du dann eine eMail wenn der Server offline ist.

DCr33P
14-12-2006, 16:34
Danke für die Antworten!

Ich symphatisiere da eher mit dem Ansatz von msi, nämlich einen per Ajax gesteuerten Bereich zu machen. Es scheint dann aber wohl so zu sein, dass ich die ganze Zeit eine Verbindung halten muss und ich damit einen gewissen Traffic erzeuge. Die Seite steht auf einem kleinen Router mit OpenWRT und ein paar Serverdiensten. Die Statusinformationen sollen eigentlich folgende sein:

- check ob der Hauptserver online ist
- check ob eine webcam an den router angeschlossen ist
- check ob der webcam_server dienst läuft
- check ob sich etwas auf dem bild der kamera bewegt( CGI skript mit einem C
Programm , dass Bewegungen in Bildern erkennt)
- noch paar andere kleinigkeiten.

Alles Punkte bis auf den ersten laufen lokal auf der kleinen Maschine auf die übers Internet zugegriffen wird. Der erste Punkt muss mit dem Hauptserver übers Internet abgeglichen werden. Kann mir gut vorstellen, dass da dauernd viele Daten hin und her gesendet werden müssen. Das Problem ist, dass es mehr Daten sind desto häufiger ich "refreshe".
Die Kommunikation muss jedoch wegen der Zuverlässigkeit in beide Richtungen laufen. Es reicht also nicht, dass die beiden Server jedes mal eine mail oder ein signal schicken wenn sich was ändert. Kann ja sein, dass Daten verloren gehen, ein Dienst hängen bliebt, der ganze server abstürzt... etc.

Deswegen: Wie stelle ich am besten eine dauerhafte Verbindung her, die "bandbreitenfreundlich" ist ?

Romanday
14-12-2006, 18:36
- check ob der Hauptserver online ist
- check ob eine webcam an den router angeschlossen ist
- check ob der webcam_server dienst läuft
- check ob sich etwas auf dem bild der kamera bewegt( CGI skript mit einem C
Programm , dass Bewegungen in Bildern erkennt)
- noch paar andere kleinigkeiten.



Von den Rechten her würde ich sowas nicht online abfragen. zu gefährlich
Ist deine Entscheidung, aber per Cron + Shellscript die Ergebnisse
in eine Datei schreiben welche Du dann regelmäßig per HTTP ausliest
geht doch auch, oder?

Turbohummel
14-12-2006, 19:51
Wenn ich das richtig versteh? Warum nicht einfach die Webcam selbst angucken lassen?
Wieso sollte das für ne Online-App zu gefährlich sein? Wir überwachen unsere Anlagen (die über die ganze Welt verteilt sind) mit automatisierten HTTP-Requests, die ein "ich lebe noch" zurückliefern.

Romanday
14-12-2006, 20:02
Wenn ich das richtig versteh? Warum nicht einfach die Webcam selbst angucken lassen?
Wieso sollte das für ne Online-App zu gefährlich sein? Wir überwachen unsere Anlagen (die über die ganze Welt verteilt sind) mit automatisierten HTTP-Requests, die ein "ich lebe noch" zurückliefern.

Weil man die Gruppenrechte besser verteilen kann. Wenn PHP
nur Leserechte auf die Ergebnisdatei hat, reicht das doch aus.
Wenn es irgendeinen neuen Bug in PHP, deinen sonstigen online
Aktivitäten gibt hat der Angreifer im schlimsten Fall auch Zugriff
auf die Softwaregruppe deiner CAM, Hauptserver etc.
-> unnötiges Risiko