服务器状态检查器实时

时间:2015-12-11 15:40:26

标签: php html server status

我设法使用FSOCKOPEN显示服务器的状态。

<?php
    $ip = "0.0.0.0";
    $port = "1337";
    $online = '<font class="online" title="Server Online!">ONLINE</font>';
    $offline = '<font class="offline" title="Server Offline!">OFFLINE</font>';
if (! $sock=@fsockopen($ip, $port, $num, $error, 0.25))
    {echo "$offline";}
else
    {echo "$online";}
?>

如果服务器带有IP&#34; 0.0.0.0&#34;在页面加载后的1/4秒内发送错误或没有响应输出将返回OFFLINE,否则它将返回ONLINE。

当用户刷新页面时,服务器状态将更新。

现在我想让它实时更新(延迟不到7秒)

我知道在头标记中使用<meta http-equiv=”refresh” content=”5" />有一种非常简单的方法。

但令人非常恼火的是,COMPLETE页面必须再次刷新并加载所有内容,并导致一些不必要的流量。

有更简单的方法吗?

2 个答案:

答案 0 :(得分:0)

您可以在客户端使用ajax和javascript在后台打开PHP脚本,然后根据成功/失败更新页面中的元素。

查看jQuery和其他图书馆,轻松完成此任务。

另一种选择是在网站上打开另一个网站的简单<iframe />

答案 1 :(得分:0)

请勿使用ajax或任何直接轮询机制,这些机制将在流量方面给服务器增加更多负担。

您可以使用websocket将数据推送到流并在前端读取

https://socket.io/

这可以几乎实时完成,并且不会要求您的页面每分钟更新一次。

将PHP脚本放入cron中,使其以所需的时间间隔运行,并在其末尾将输出推送到套接字并在前端捕获它们。