這一直困擾我一段時間,有人可以告訴我如何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