Jak696
27-10-2009, 19:34
mettiamo che io voglia realizzare una chat ajax...
composta da uno script php lato server che rimane sempre attivo (spostando in avanti a intervalli regolari il tempo di vita della pagina, con set_time_limit()) controllando su DB se ci sono nuovi messaggi e che, quando ne arriva uno, lo stampa con echo() e lo invia al client con flush()
lo script in questione viene richiamato con un oggetto XMLHttpRequest (per popolare il div dove sono contenuti i messaggi), ma come si comporta lo stesso in questo caso (di uno script che non termina)?
l'oggetto va comunque in readyState 4 o rimane in 3 ricevuto tutto il flush()?
lo stato http allegato alla stringa di risposta sarà 200 o piuttosto 206?
la mia supposizione (ma è così, campata in aria) è che ad ogni nuovo invio torni in readyState 3 e poi di nuovo 4, quindi si potrebbe sfruttare l'evento onReadyStateChange... confermate?
composta da uno script php lato server che rimane sempre attivo (spostando in avanti a intervalli regolari il tempo di vita della pagina, con set_time_limit()) controllando su DB se ci sono nuovi messaggi e che, quando ne arriva uno, lo stampa con echo() e lo invia al client con flush()
lo script in questione viene richiamato con un oggetto XMLHttpRequest (per popolare il div dove sono contenuti i messaggi), ma come si comporta lo stesso in questo caso (di uno script che non termina)?
l'oggetto va comunque in readyState 4 o rimane in 3 ricevuto tutto il flush()?
lo stato http allegato alla stringa di risposta sarà 200 o piuttosto 206?
la mia supposizione (ma è così, campata in aria) è che ad ogni nuovo invio torni in readyState 3 e poi di nuovo 4, quindi si potrebbe sfruttare l'evento onReadyStateChange... confermate?