Php 实时服务器状态检查器

Php 实时服务器状态检查器,php,html,server,status,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>';

我设法使用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为“0.0.0.0”的服务器在加载页面后1/4秒内发送错误或没有响应,则输出将返回脱机,否则将返回联机

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

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


我知道有一种非常简单的方法,使用
可以在客户端使用ajax和javascript在后台打开PHP脚本,然后根据成功/失败的结果更新页面中的元素

请查看
jQuery
和其他库,以轻松完成此操作


另一个选项是使用简单的
打开另一个网站作为网站上的元素。

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

请查看
jQuery
和其他库,以轻松完成此操作


另一种选择是使用简单的
打开另一个网站作为网站上的一个元素。

不要使用ajax或任何直接轮询机制,这样会增加服务器的流量负载

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

这可以做到近实时,你的网页将不会被重新要求得到更新每分钟


将PHP脚本放入cron中,以按要求的时间间隔运行,并在结束时将输出推送到套接字,然后在前端捕获它们。

不要使用ajax或任何直接轮询机制,这样会在流量方面增加服务器负载

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

这可以做到近实时,你的网页将不会被重新要求得到更新每分钟


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

我以前已经使用过iFrame。就像另一辆车一样,交通拥挤。此外,我希望在加载时不会中断状态,这发生在http刷新或iframe刷新时。我以前已经使用过iframe。就像另一辆车一样,交通拥挤。此外,我希望在加载时不中断状态,这发生在http刷新或iframe刷新时。只有在双向通信时才需要Web套接字。服务器发送事件(SSE)在这里更好。只有在双向通信时才需要Web套接字。服务器发送事件(SSE)在这里会更好。