• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Automatische Aktualisierung in einem Liveticker

DrZaius

New member
Moin zusammen,

programmiere seit einiger Zeit einen Liveticker für bestimmte Sportergebnisse, den ich via eines C++-Programms steuere. Hatte es bisher so gelöst, dass die HTML-Seite pauschal alle 30 Sekunden neu geladen wird.

Habe es nun umgerüstet, dass die Tabelle mit den Ergebnissen via JS mit setIntervall und load in eine div-Komponente geladen wird. (Tabelle in einer anderen Datei, die wiederum durch mein C++-Programm gefüttert wird.)
Code:
$.ajaxSetup({ cache: false });
$(document).ready(
    function() {
        $("#table").load("js_content/table");
        setInterval(function() {
            $("#table").load("js_content/table");
        }, 10000);
    });

Nun wäre es mein Ziel, dass nur dann neu geladen wird, wenn auch neue Ergebnisse da sind. Sämtliche Googlei von mir war bisher leider erfolglos.
Gibt es da eine elegante Lösung?
Vielleicht könnte ich via C++ irgendein Signal schicken, dass ein nachladen startet?

Bin für jede Hilfe dankbar!
Schöne Grüße
 
Nun wäre es mein Ziel, dass nur dann neu geladen wird, wenn auch neue Ergebnisse da sind.
was willst du damit erreichen? das die anzahl der requests weniger wird oder dass die tabelle nicht flackert?
für ersteres bieten sich websockets an. die einzig brauchbare implementierung in c++ habe ich laut read.me hier gefunden: websocketserver.de, das war aber auch schon ne weile her, vielleicht gibts da inzwischen mehr. da waren auch noch ein paar kleiner fehler enthalten.
für letzteres musst du ja nur die tabelle neu erstellen, wenn sich etwas geändert hat. das kannst du über zeitstempel feststellen.
 
Danke für Deine Antwort. Ja, ging mir um die Anzahl der requests bzw. um den Umfang des Nachladens. So klein ist die Tabelle nicht, da wäre es deutlich effizienter nur gezielt die neuen Ergebnisse zu laden. Soll ja auch bei schlechter Verbindung halbwegs laufen.

Das mit den Websockets klingt tatsächlich so, als würde es helfen. Hab mir das grad mal angeschaut. Allerdings übersteigt das meine Kenntnisse bzw. den Aufwand, den ich investieren möchte. Trotzdem besten Dank für Deine Hilfe!

Hat noch jemand andere Ideen?
 
Du könntest als Antwort auf den AJAX-Request nicht das HTML für die komplette Tabelle schicken, sondern z.B. JSON, in dem gespeichert ist, welche Zelle der Tabelle sich wie ändern soll. Damit könntest du die Menge der übertragenen Daten reduzieren. Ist aber im JS natürlich um einiges aufwändiger.
 
Zurück
Oben