我正在开发一个可以进入离线模式的网络应用。如果连接可用,则每5秒检查一次ajax请求,触发php fopen函数,如下所示:
if (fopen("http://google.com/", "r")) {
return true;
}
return false;
这是我的主要问题:从技术上讲,Apache / PHP是否已经饱和并将服务器关闭?
我已经阅读了http://php.net/manual/fr/function.fopen.php上的所有内容,但仍然无法得到有关它的线索?
答案 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)