Sto cercando di capire in che modo la funzione di chat di Facebook riceve i messaggi senza spostare continuamente il server.In che modo chat di Facebook evita il polling continuo del server?
Firebug mi mostra un singolo GET XmlHttpRequest continuamente seduto lì, in attesa di una risposta dal server. Dopo 5 minuti, questo non è mai scaduto.
Come impediscono il timeout?
Una richiesta AJAX può semplicemente sedersi così indefinitamente in attesa di una risposta?
Posso farlo con JSONRequest? Lo vedo su json.org:
JSONRequest è progettato per supportare connessioni duplex . Ciò consente le applicazioni in cui il server può avviare in modo asincrono le trasmissioni. Questa operazione viene eseguita utilizzando due richieste simultanee di : una da inviare e l'altra a riceve. Utilizzando il parametro timeout , è possibile lasciare una richiesta POST in attesa fino a quando il server non determina di disporre di dati tempestivi da inviare.
Oppure c'è un altro modo per consentire a una chiamata AJAX di sedersi lì, in attesa, oltre all'utilizzo di JSONRequest?
Ho appena immaginato che, se creo una lunga connessione di polling, il mio Mac/computer non si addormenta. Come è fatto su chat di Gmail e Facebook? O impediscono anche a dormire? (Confuso.) – loveNoHate