0

所以我最近开始联系 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之类的网站可以访问此信息而我不能。

谢谢你的时间

4

1 回答 1

1

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

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

于 2012-11-21T14:50:03.947 回答