webconsul

the best webconsul(ting)

Server to JavaScript Push Funktion

Sie sind hier: Startseite » Server to JavaScript Push Funktion

Heute habe ich kurz darüber nachgedacht, wie man in JavaScript eine serverseitige Push-Funktion implementieren kann.

Eine Möglichkeit wäre es, den Status ständig abzurufen, wie zum Beispiel mit folgendem Code:
function checkServer() {
new Ajax.Updater('server.php', {
method: 'get',
onSuccess: function(transport) {
if (parseInt(transport.responseText)) checkServer();
else doStuff(transport.responseText);
}
});
}

Die prototype-Library als Framework vorausgesetzt.
Dabei wird im obigen Quelltext solange das serverseitige Skript aufgerufen, bis es denn eine Lösung gibt, als Anwendungsfall kann man sich eine langwierige Datenbankoperation vorstellen, die sonst nichts, nicht mal ein HTML-Template, zurückgibt.

Denn wenn etwas kommt, ist der Prozess zu Ende.

Ein anderer Ansatz ist, vorausgesetzt man kann eine Session lange offen halten, dass man den Status der Übertragung überprüft und eben darauf reagiert.
Dies ist auf jeden Fall die elegantere Lösung die weniger Queries verursacht, aber wegen der langen Sessions etwas unsicherer, bei zum Beispiel schlechten Internetzugängen oder DSL Timeouts, ist, aber schöner funktioniert:
var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");
xmlHTTP.onreadystatechange = handleStateChange;

function handleStateChange() {
if (xmlHTTP.readyState == 3) {
alert(xmlHTTP.responseText);
}
}

xmlHTTP.open("POST", "/server.php", true);
xmlHTTP.send();

Oder fällt jemanden auf Anhieb eine bessere Möglichkeit ein, wenn man auf der Seite des Client nur einen Webbrowser mit JavaScript zur Verfügung hat?
Besserung ist wohl nicht zu erwarten, denn wie hier bei heise steht, wird am XMLHttpRequest nichts mehr verändert. Super.



Ähnliche Beiträge:
  • JavaScript Funktion aus String erzeugen In JavaScript will man oftmals eine Funktion erzeugen, deren Eingabe- und Ausgabeparameter vorher noch unklar sind. Daher muss die Funktion dynamisch erzeugt werden und darin...
  • Der Googlebot und JavaScript Dem Googlebot wird nachgesagt alles zu parsen, sogar vor JavaScript und Flash soll er nicht halt machen. Da hat mich interessiert, ob der Googlebot das...
  • Crockford on JavaScript Soeben konnte ich im Yuiblog erfreulicherweise diesen Veranstaltungshinweis lesen: Crockford on JavaScript Dabei spricht Douglas Crockford über die JavaScript-Architektur und vieles mehr. Ich hoffe nur,...
  • 7 Schritte zum eigenen CVS-Server Zur einfachen Projektverwaltung gerade bei mehreren Entwicklern ist es hilfreich einen zentralen Entwicklungsserver zu haben. Dazu kommen als OpenSource-Beispiele eigentlich nur subversion (svn) und cvs...
  • Ubuntu Server Survey Soeben habe ich im Blog der Firma Canonical (ein Ubuntu-Dienstleister rund um Server) folgenden Beitrag über eine Serverumfrage entdeckt. Die Studie ist ganz interessant und...

Ein Kommentar zu “Server to JavaScript Push Funktion”

  1. webCONSUL sagt:

    [...] im vorherigen Artikel geschrieben, befindet sich nicht nur das XMLHttpRequest vom W3C im Status “Last Call”, [...]

Hinterlasse eine Antwort