2012-03-29 3 views
0

Wenn ein Ereignis auf dem Webserver auftritt, möchte ich, dass der geöffnete Browser meiner Anwendung davon erfährt. Der naheliegendste Weg wäre, jede Minute einen Jquery Ajax-Aufruf an den Webserver zu senden, um zu überprüfen, ob sich etwas geändert hat.Ist es möglich, einen Browser basierend auf einem Ereignis im Webserver zu aktualisieren?

Basierend auf meinem Verständnis der Funktionsweise des Webs können Sie keine HTTP-Antwort (oder eine xmlhttp-Antwort für Ajax-Aufrufe) ohne eine HTTP (oder XMLHTTP) -Anforderung vom Browser erhalten. Ist das korrekt?

+3

Es ist mit Websockets möglich. http://en.wikipedia.org/wiki/Websbocks Pusher.com ist ein kostenpflichtiger Dienst, der es implementiert http://pusher.com/ Und es gibt mehrere Open-Source/Free-Server, die Sie installieren können. Coldfusion 10 wird mit einem eingebauten geliefert. –

+0

Berücksichtigen Sie die Kompatibilität für verschiedene Browser http://caniuse.com/websockets Solange er einen Fallback zu einem anderen Mechanismus implementiert, könnte er Websockets verwenden. –

+0

wow! Web-Sockets sind wirklich cool. Ich kann kaum auf ie 10 warten. Obwohl ich hin und wieder mit meinen Fragen blöd aussehe, macht es die Information, die ich dafür bekomme, total wert. Danke Jungs! – developer747

Antwort

0

Werfen Sie einen Blick auf nodejs und das socket.io Modul, das WebSockets in fähigen Browsern unterstützt und bietet Fallback-Methoden für den Rest. Es gibt eine Vielzahl von free node hosting services so keine Notwendigkeit, herumzusitzen und auf IE 10 zu warten!

0

Ab sofort ist die Abfrage vom Client die einzige Möglichkeit, die meiner Meinung nach verfügbar ist. Ich habe jedoch das Gerücht gehört, dass Microsoft ein Tool mit der Möglichkeit erstellt, eine offene HTTP-Sitzung zu haben, die es ermöglicht, dass Daten zurück zum Client fließen.

0

SignalR wurde für genau dieses Szenario erstellt. Es integriert sich in ASP.NET und verwendet die jeweils verfügbare Technologie (Kombination aus Server und Client) und greift auf lange Abfragen zurück, wenn alles andere fehlschlägt.

Verwandte Themen