Hi,
Ich habe auf meiner Homepage eine Möglichkeit, Bilder per AJAX hochzuladen (via iFrame).
wie meinst du das genau?
Jetzt möchte ich aber nach Möglichkeit das Bild zu einer begrenzten Zahl von anderen Clients pushen.
Mit "pushen" meinst du, dass der Server von sich aus die Clients anstößt und ihnen mitteilt, dass es etwas Neues gibt? Das geht so nicht, das verträgt sich nicht mit dem Grundkonzept von HTTP, das da heißt: Der Client fragt an, der Server antwortet; pro Request gibt es genau einen Response.
Was du mit "push" meinst, kann also nur über periodisches Polling durch den Client realisiert werden: Der Client fragt in kurzen Abständen an, ob etwas Neues vorliegt; und der Server antwortet: nein, nein, nein, nein, doch jetzt ja, nein, nein ...
Ich weiß mittlerweile über die Techniken von AJAX-Push einigermaßen bescheid
Ah ja? Da weißt du mehr als die meisten von uns.
weiß allerdings nicht, wie ich die Verbindung zwischen Client und Server aufrechterhalten soll, bis ein neues Bild hochgeladen wurde.
Ich ahne, was du andeutest: Du willst vom Client aus einen Request loslassen, und der Server zögert seine Antwort so lange hinaus, bis wirklich neue Daten für den Client vorliegen?
Das wird nur in wenigen Fällen funktionieren. Im Regelfall musst du damit rechnen, dass der Client dann die Verbindung irgendwann wegen eines Timeouts beendet und auf die Antwort vom Server pfeift.
Hoffentlich war's nicht zu kompliziert erklärt :-)
Wenn's wenigstens überhaupt erklärt wäre ...
And by the way: Gibt es eigentlich einen eleganteren Weg, eine Datei ohne Reload hochzuladen als mit einem iFrame? Hab leider nichts genaueres gefunden.
Wenn du schon AJAX einsetzt, verstehe ich die Verwendung eines iframe-Elements tatsächlich nicht.
So long,
Martin
Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.