这一直困扰我一段时间,有人可以告诉我如何ping反恐精英服务器。Ping CS服务器
我只想ping服务器,看看它是否处于联机状态,这就是全部。
我发现很多小片段用fsock和UDP要做到这一点,网上但没有人实际上做了,我想它做的工作。
我发现的大多数人都显示离线服务器为在线。
我真的很感激,如果有人能为我提供这个有用的信息(代码)。
预先感谢您的^ _^
这一直困扰我一段时间,有人可以告诉我如何ping反恐精英服务器。Ping CS服务器
我只想ping服务器,看看它是否处于联机状态,这就是全部。
我发现很多小片段用fsock和UDP要做到这一点,网上但没有人实际上做了,我想它做的工作。
我发现的大多数人都显示离线服务器为在线。
我真的很感激,如果有人能为我提供这个有用的信息(代码)。
预先感谢您的^ _^
两个选择,把我的头顶部:
的fsockopen:
http://www.phptoys.com/e107_plugins/content/content.php?content.41
Net_Ping梨包:
http://www.codediesel.com/php/ping-a-server-using-php/
使用CS服务器的IP。
获取ClanManager,它具有检查CS服务器状态的模块。
这与实例与CS服务器交谈的文件,
感谢您的链接 - 代码看起来相当类似看起来相当过时,而不是我感兴趣的。 我不想查询服务器的信息,我只需要ping它只是验证它是在线和活。 http://gameq.sourceforge.net比上面的更好,如果我不得不选择。 – Zubair1 2010-06-14 17:39:53
你也可以做什么作为一个TCP平。基本上,您只需连接,然后断开连接,无需任何通信。如果连接成功,则知道服务器已启动,如果失败则服务器关闭。当我说服务器是指你感兴趣的程序,而不是物理服务器。
你不能只ping服务器,因为它使用的,而不是正常的TCP UDP,所以为了检查您需要到“查询”的服务器,你可以找到什么命令,您可以发送到CS服务器的信息状态在这里:http://developer.valvesoftware.com/wiki/Server_queries#A2A_PING
反正下面的代码(PHP)可用于检查CS服务器的状态。
`
` $插座= socket_create(AF_INET,SOCK_DGRAM,SOL_UDP);
socket_connect($ socket,“cs.somesv.com”,27015);
socket_write($socket, "\xFF\xFF\xFF\xFF\x69");
if (@socket_read($socket, 5) == "\xFF\xFF\xFF\xFF\x6A") {
echo '<FONT COLOR=lime>Online</FONT>';
} else {
echo '<FONT COLOR=red>Offline</FONT>';
}
socket_close($socket);
?>`
Bah!这个代码块并不真的工作正常! :(
总之,我使用此代码为每天我的服务器,希望它能对你罚款。
这里是PHP函数来检查,如果CS服务器在线:
function isCsServerOnline($server, $port = 27015)
{
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
// timeout 1.5 seconds
$timeout = array('sec' => 1, 'usec' => 500000);
socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, $timeout);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, $timeout);
@socket_connect($socket, $server, $port);
@socket_write($socket, "\xFF\xFF\xFF\xFF\x69");
$isOnline = @socket_read($socket, 5) == "\xFF\xFF\xFF\xFF\x6A";
@socket_close($socket);
return $isOnline;
}
您可以使用它像这样:
$server = 'some.cs.server';
$port = 27015;
$isOnline = isCsServerOnline($server, $port);
echo $isOnline ? 'Online' : 'Offline';
谢谢,第一个链接,我发现了,不过它不会做工作。 第二个链接就像我需要的东西 - 但它需要很多东西,我只有当我有根访问。 它需要的东西在我的服务器上被禁用(即exec()函数)。 – Zubair1 2010-06-14 17:37:54