Sto cercando di implementare un servizio real time che stia in ascolto su eventuali cambiamenti che avvengono nel db.

lato client:
--------------------------------
chiamata ajax asincrona con timeout prefissato e, una volta scaduto, esecuzione di nuovo della stessa funzione
--------------------------------

lato server:
--------------------------------
while(!condizione_verificata){
sleep(1);
}
die(json_encode("risultato"))
--------------------------------

Ora supponiamo di avere un timeout lato client di 30 secondi; se in quei 30 secondi volessi: refreshare la pagina cambiare pagina o fare qualsiasi altra cosa devo aspettare che il loop lato server sia terminato il che rende inutilizzabile il servizio. Non volendo abbassare il timeout come faccio a forzare l'uscita dal loop?
Cercando qua e lÓ ho letto che facebook google e altri usano uno schema di base che si chiama comet, che deve essere simile a questo (come logica di base eh !:cool:)..
ringrazio chiunque provi a risolvere il problema anticipatamente


Originariamente scritto da feed90 nel forum PHP in data 07-10-2015 14:18.