Я слышал об обратном ajax или кометах и думал о его внедрении в моей системе чата.
Ранее я должен был сделать это.
AJAX
updatePulls();
function updatePulls(){
$.post('resource/php/pull.php',{
latest_id : latest
}
,function(data){
...
}
setTimeout(updatePulls,5000); //5 seconds
},'json');
}
PHP
...
$user_id = $_SESSION['user_id'];
$data = mysqli_query($con,"SELECT * FROM messages WHERE message_id > $latest_id AND ... ");
...
/*
while($row = mysqli_fetch_assoc($data)){} and other stuffs
and finally return at every call from client
*/
echo json_encode($data);
Теперь, когда я услышал о комментариях, я подумал о его реализации, но может ли кто-нибудь показать мне, как я могу это сделать? Это говорит о создании неопределенных циклов, а затем я прихожу, чтобы сделать это, но я не уверен в этом.
COMET PHP
…
$user_id = $_SESSION['user_id'];
$data = mysqli_query($con,"SELECT * FROM messages WHERE message_id > $latest_id AND ... ");
...
while($anythingnew < 1 ){
//again mysqli_query and increment $anythingnew accordingly
}
/*
while($row = mysqli_fetch_assoc($data)) and other stuffs
and finally return at every call from client
*/
echo json_encode($data);
Любая помощь, пожалуйста.
Задача ещё не решена.
Других решений пока нет …