关于循环ajax请求的Php fopen()延迟问题

时间:2017-09-20 10:04:39

标签: php jquery ajax

我正在开发一个可以进入离线模式的网络应用。如果连接可用,则每5秒检查一次ajax请求,触发php fopen函数,如下所示:

if (fopen("http://google.com/", "r")) {
    return true;
}
return false;

这是我的主要问题:从技术上讲,Apache / PHP是否已经饱和并将服务器关闭?

我已经阅读了http://php.net/manual/fr/function.fopen.php上的所有内容,但仍然无法得到有关它的线索?

3 个答案:

答案 0 :(得分:0)

我想更好的方法来测试互联网连接是否正常,就是ping一个公共IP,如Google DNS 8.8.8.8。

查看这篇文章以获取PHP代码: Pinging an IP address using PHP and echoing the result

答案 1 :(得分:0)

你应该尝试:

<?php
    $connected = @fsockopen("www.example.com", 80); 
                                        //website, port  (try 80 or 443)
    if ($connected){
        $is_conn = true; //action when connected
        fclose($connected);
    }else{
        $is_conn = false; //action in connection failure
    }
    return $is_conn;
?>

答案 2 :(得分:0)

您可以使用javascript注册网络连接事件。当notwork打开时,每隔5s拉一次ajax请求,同时关闭网络连接时关闭ajax请求。

注册网络连接事件请参阅How to manage network connection events and changes in availability (HTML)