检查游戏服务器是否在线的PHP代码
我正试图在我的网站上为我的游戏服务器发送一条状态消息。如果它是在线的,它应该说“在线”之类的 这是我目前的代码:检查游戏服务器是否在线的PHP代码,php,sockets,server,Php,Sockets,Server,我正试图在我的网站上为我的游戏服务器发送一条状态消息。如果它是在线的,它应该说“在线”之类的 这是我目前的代码: <?php $site = '217.78.24.5'; $port = '28728'; $check = fsockopen( "$site", "$port", $errno, $errstr, 6 ); if ( ! $check ){ echo 'Offline'; } else{ echo 'Online (YAY)';} ?> 但出于某种原因,它一直在
<?php
$site = '217.78.24.5';
$port = '28728';
$check = fsockopen( "$site", "$port", $errno, $errstr, 6 );
if ( ! $check ){ echo 'Offline';
}
else{ echo 'Online (YAY)';}
?>
但出于某种原因,它一直在离线告诉我。游戏是CS:GO,如果有问题的话您的问题将出现在$errno和$errstr中,请编辑您的代码:
$debug = true;
$site = '217.78.24.5';
$port = '28728';
$check = fsockopen( $site, $port, $errno, $errstr, 6 );
if ( ! $check ) {
if($debug){
echo "Error #$errno : $errstr <br>";
}
echo 'Offline';
}
else {
echo 'Online (YAY)';
}
$debug=true;
$site='217.78.24.5';
$port='28728';
$check=fsockopen($site,$port,$errno,$errstr,6);
如果(!$支票){
如果($debug){
回显“Error#$errno:$errstr
”;
}
回声“离线”;
}
否则{
echo“在线(YAY)”;
}
如果你看到:
错误#13:权限被拒绝
这可能是你的防火墙。试试
fsockopen($site,$port)代码>并且不要忘记关闭套接字“Error#110:Connection timed out”是我得到的:/fsockopen的最后一个参数。尝试更改6 60秒。仍然是相同的错误,但现在页面加载也需要很长时间:P