Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Live-Ticker



Programmierer
14.01.2008, 17:05
Jo. Also wir (2 Kumpel und ich) arbeiten derzeit an einem Projekt für Informatik. Die Sache ist, dass wir für unser Projekt einen Live-Ticker benötigen und ich deshalb einige Denkanstößge bzw Hilfen brauche.

Das Projekt ist als Homepage geschrieben und zwar in PHP. Der Live-Ticker soll sämtliche Daten zu Anfang aus einer MySql-Datenbank bekommen und bei einer bestimmten Serverzeit automatisch starten. Im Interface soll dann je nach Zeit immer mehr Text angezeigt werden.

Die Probleme:
1.) Wie komme ich an die Serverzeit ran?
2.) Ich möchte, dass der Ticker jede Sekunde aktualisiert wird. Da die Ladezeiten aber zu lange beim Seitenaufbau wären, dachte ich an eine Art Java-Plugin, dass zu Beginn alle Daten lädt und dann "offline" läuft, sobald die Systemzeit die Startzeit erreicht hat.
3.) Wie mache ich es, dass in Java genau jede Sekunde eine Variable erhöht wird. Und zwar nach der Serverzeit und nicht nach der PC-Zeit, damit man nicht manipulieren kann?
4.) Wie gebe ich nach dem Ende des Tickers alle Daten frei und lade automatisch die nächsten in den Ticker?


Wär echt klasse, wenn ihr mir helfen könntet...
Danke schon mal für eure Mühe ;)
MfG Programmierer

Drakes
14.01.2008, 18:43
Ich würde das jetzt über AJAX lösen. Mit Javascript bekommst du ja ne Zeit, falls du unbedingt die Serverzeit brauchst, kannst du sie auch über AJAX abfragen(ist auch halbwegs Javascript). Zudem ist jede Sekunde sowieso ein bischen gar oft, alle 5 Sekunden sollten doch reichen? (Wenn nicht sogar alle 15 oder sogar 30 Sekunden)

Jesus_666
15.01.2008, 13:01
Das Topic paßt besser ins Webentwicklungsforum.

Topic(this).moveTo('../Webentwicklung/');

Teelicht
16.01.2008, 13:44
Du willst also mit einem offline-java-programm die serverzeit abfragen? :-O tut mir leid, sowas geht nicht.

aber warum machst du es so kompliziert? du könntest auch einen cronjob nutzen (allerdings würde ich dir da nicht zu 1 sek. aktualisierungsintervall raten, ich bin mir nicht sicher, könnte stress mit dem hoster geben ;) )

außerdem verstehe ich das ganze noch nicht so ganz - ein LIVE ticker ist doch dazu da, LIVE zu sein!? du musst also eigentlich nur sowas ähnliches wie ne shoutbox coden, ich weiß gar nicht, was du da mit serverzeit willst!? :confused:

Jesus_666
16.01.2008, 14:13
An sich sollte eine simple AJAX-Anwendung reichen. Der Inhalt des Tickers wird einfach alle N Sekunden vom Server abgefragt und in die Seite eingebaut. Das ist, was AJAX angeht, einer der trivialsten Anwendungsfälle. Und die aktuelle brauchst du gar nicht - setTimeout() erlaubt es dir, alle N Millisekunden eine JavaScript-Funktion aufzurufen und das ist genau das, was du brauchst.

Java ist für diese Sache absoluter Overkill.

Updates würde ich übrigens nicht seknüdlich machen, damit erzeugst du nur unnötig Traffic und belastest den Server. 60 Sekunden bis (für wirklich ganz aktuelle Sachen) 10 Sekunden sollten absolut reichen.

Programmierer
17.01.2008, 08:36
Also es geht darum, dass man mehrere Teile eines Textes hat. Das ganze gehört zu einem Programm, dass später ein Handball-Spiel über's Internet simulieren soll.

Und da stehn in Strings immer am Ende immer einzelne Satzteile in Strings und die sollen dann nacheinander angezeigt werden. (1 pro Sekunde).
Und damit er nicht so oft aktualisieren muss, dachte ich eher an Java

Jesus_666
17.01.2008, 10:47
Die Programmiersprache hat mit der Abfragefrequenz nichts zu tun. Ob du Java oder JavaScript oder sonst etwas nimmst; wie oft du beim Server nach neuen Daten fragst bestimmt niemand außer dem Programmierer.

Falls du jetzt meinst, daß die ganze Seite neu geladen wird: Das ist völlig überflüssig. Wie ich schon sagte, sollte das Ganze mit AJAX trivial umzusetzen sein. Falls dir das nichts sagt: AJAX ist eine Methode, per JavaScript einen Teil einer Seite neu zu laden, ohne den Rest neu laden zu müssen. Die Live-Editierfunktion hier im Forum wäre ein Beispiel.


Ich weiß nicht, was mit "da stehn in Strings immer am Ende immer einzelne Satzteile in Strings" gemeint ist, aber ich denke, daß du aus vergefertigten Satzbausteinen das generiern willst, was dem User dann angezeigt wird. Das machst du am besten serverseitig; der fertig generierte Text wird dann bereit gestellt und die Clients können ihn abfragen.
Mit ein wenig schlauem Coding kann man das sogar recht ressourcensparend umsetzen. (Optimierungsmöglichkeit 1: Der generierte Text wird in eine statische Datei geschrieben und die wird abgerufen; so muß nicht jedes Mal das Skript laufen. Optimierungsmöglichkeit 2: Man verwendet konditionale Anfragen nach HTTP 1.1, um den Transfer unnötiger Daten zu vermeiden. IIRC kriegt man Optimierung 2 gratis, wenn Server und Browser es unterstützen.)