Ich versuche zu verstehen, wie die Chat-Funktion von Facebook Nachrichten empfängt, ohne den Server ständig zu pollen.Wie vermeidet Facebook Chat die kontinuierliche Abfrage des Servers?
Firebug zeigt mir eine einzige GET XmlHttpRequest ständig dort sitzen, auf eine Antwort vom Server warten. Nach 5 Minuten war das nie abgelaufen.
Wie verhindern sie Timeout?
Eine AJAX-Anfrage kann auf diese Weise unbegrenzt lange auf einer Antwort warten?
Kann ich dies mit JSONRequest tun? Ich sehe dies bei json.org:
JSONRequest ist entworfen, um Duplex-Verbindungen zu unterstützen. Dies ermöglicht Anwendungen, in denen der Server asynchron Sendungen initiieren kann. Dies geschieht mit zwei simultanen Anfragen: eine zu senden und die andere an erhalten. Mithilfe des Timeout-Parameters kann eine POST-Anforderung ausstehen gelassen werden, bis der Server feststellt, dass aktuelle Daten gesendet werden.
Oder gibt es eine andere Möglichkeit, einen AJAX-Anruf einfach dort sitzen zu lassen und auf JSONRequest zu warten?
Ich dachte nur, dass, wenn ich eine lange Polling-Verbindung erstellen, mein Mac/Computer nicht in den Ruhezustand geht. Wie erfolgt das im Google Mail-Chat und auf Facebook? Oder verhindern sie auch das Schlafen? (Verwirrt.) – loveNoHate