如何在第二个客户接受请求后刷新一个客户页面

时间:2018-01-30 05:39:04

标签: php mysql ajax codeigniter

我正在创建基于网络的应用,以便在您选择的区域附近找到客户。选择区域后,我向客户发送请求,并在2分钟内检查请求客户是否接受请求。

在我之前的解决方案中,我创建了一个API。在每5秒后,我发送请求到我的MYSQL数据库检查值是否更新。但是在这种情况下,由于更多的请求和流量,数据库的负载不断增加。

谁能建议我一个更好的解决方案来减少mysql数据库的加载时间?

1 个答案:

答案 0 :(得分:0)

您可以使用长轮询。通过创建到服务器的开放连接。

这是一个例子:



(function poll(){
    $.ajax({ url: "index.php?a=1", success: function(data){
        //HANDLE RESPONSE AS YOU NEED;
    }, dataType: "json", complete: poll, timeout: 30000 });
})(); 




在Index.php中

//add this at top to create open connection
set_time_limit(0);
if($_GET['a']){
$data = array("status"=>200,"data"=>$response_array);
echo json_encode($data);
die;
}

我只是举个例子来展示如何使用长轮询。要了解有关长轮询的详情,请查看here