fsockopen只允许某些服务器吗?

时间:2012-11-01 17:48:57

标签: php ping

因此,我最近联系Hostgator,了解我之前启动的插件,根据服务器状态返回“在线”或“离线”。

现在,问题在这里。

Hostgator禁用了fsockopen,在骚扰他们后我启用了它。但是并非所有服务器的ips和端口都可以使用它吗?

例如:

<?php
$ip = "play.magicacraft.net";
$port = "25567";

$online = @fsockopen( $ip, $port, $errno, $errstr, 200);
if($online >= 200) { 
echo '<a href="#" class="MPServer_Online">Online</a>'; 
}
else {
echo '<a href="#" class="MPServer_Offline">Offline</a>'; 
} 
?>

对我来说,这就是在线返回。

如果我使用其他服务器ip和端口,例如:

$port = 72.20.55.85";
$ip = "25570";

虽然它在线,但它离线说

这是我的结果还是他们的错?我对此提出质疑,因为http://minecraftservers.org/index/1等网站可以访问此信息而我无法访问。

感谢您的时间

1 个答案:

答案 0 :(得分:1)

您是否检查过确保端口没有被防火墙/ iptables阻止?

尝试使用端口80 http://php.net/manual/en/function.fsockopen.php的默认示例来查看它是否可能是端口阻塞问题