AJAX Long Polling

  • Creatore Discussione Creatore Discussione xeryan
  • Data di inizio Data di inizio

xeryan

Nuovo Utente
3 Set 2010
22
0
0
Napoli, Italy
Ciao a tutti! sto cercando di implementare il long polling per 'chiedere' nuovi contenuti solo quando disponibili risparmiando richieste HTTP, grazie a delle guide online e un po' di pratica sono riuscito a completare gli script


parte Javascript (con JQuery)
Codice:
$.ajax({
  url: 'http://pull.miosito.com',
  cache: false,
  type: 'GET',
  success: function(resp) {
    //post risultato se disponibile
    getNewStreamPost();
  },
});

parte PHP:
PHP:
<?php session_start(); $user=$_SESSION['user']; if ($user=="") {header("location:../index.php");} include "../connect.php";

$time = time();
while (time()-$time<30) {
  //posta i nuovi risultati se ci sono con un echo
  if ($new_post>0) {break;} //stoppa lo script se trova risultati
  sleep(5);
}

?>

voi mi chiederete dov'è il problema ?
bene, in pratica se richiamo lo script PHP con un url relativo, funziona, ma mentre lo script PHP sta effettuando il controllo mi blocca tutte le altre richieste HTTP anche se la chiamata AJAX è asincrona, invece se metto lo script PHP in un sottodominio con un url assoluto semplicemente non funziona dando un errore 302...qualcuno sa' come risolvere questo problema ? :(
 
Ultima modifica:

Discussioni simili