因此,我尝试使用无限循环长时间轮询新数据库行,该循环会中断数据并将其发送到服务器。但是无限循环正在减慢xampp服务器的速度,并使网站需要20到30秒的时间做出响应。它是在xampp中发生还是在真实的实时服务器中发生?
还有没有更好的方法来执行长轮询? 这是我的服务器脚本。
set_time_limit(0);
$result =mysqli_query($connect, "SELECT * FROM userss WHERE email='$mail'");
$d=mysqli_fetch_assoc($result);
$lnote=$d['last_note'];
$data=array();
while(true){
$result =mysqli_query($connect, "SELECT * FROM notifications WHERE recipient='$mail' AND note_id > '$lnote'");
while ($rows=mysqli_fetch_assoc($result))
{
$data[] = $rows;
$nid=$rows['note_id'];
}
if($data!=null){
echo json_encode($data);
$update="UPDATE userss SET last_note='$nid' WHERE email='$mail'";
mysqli_query($connect,$update);
break;
}
sleep(10);
}
?>