我正在使用this PHP库来查询Minecraft服务器并获取有关它的一些信息(玩家在线,最大玩家等)。它通过套接字连接到服务器并发送信息请求,服务器发回数据。当我在我的个人计算机上托管XAMPP上的代码时,一切都很完美。然后我有一个网络主机(Bluehost)并上传了所有代码,现在请求每次都超时。我已经使用命令提示符ping服务器地址以确保它已启动并响应,并且它是。
这是我的代码:
function pingPlayers($ip) {
try {
$Query = new MinecraftPing($ip);
$response = $Query->Query();
$players = $response['players']['online'];
$maxPlayers = $response['players']['max'];
$online = true;
}
catch(MinecraftPingException $e) {
$players = "0";
$maxPlayers = "0";
$online = false;
var_dump($e);
} finally {
$Query->Close();
}
return array("players" => $players, "maxPlayers" => $maxPlayers, "status" => $online);
}
MinecraftPing class and all of it's functions can be found here.
我收到一个MinecraftPingException,它说“无法连接或创建套接字:110(连接超时)”。我的第一个猜测是主机阻止传出请求,但我联系了他们,他们说什么都没有被阻止。除了MinecraftPingException之外,我没有收到任何其他错误。