2012-08-05 51 views
2

我最近進入從服務器獲取數據。例如,從CoD 4服務器。好?PHP fSockOpen查詢到服務器?

現在下面,我可以查詢服務器狀態的腳本。意思是服務器的設置(地圖,標題)和玩家的分數。現在的問題是,在fwrite函數中使用握手,這些意味着什麼,如果有的話,我怎麼能從中獲得更多信息?

我正在使用「\ xFF \ xFF \ xFF \ xFFgetstatus \ x00」與CoD 4服務器握手,但我只獲取玩家的姓名,得分和ping。我需要的是得分,殺人,死亡和助攻。問題是,這些選項/數據是否可用,並且是否可用?我嘗試了很多東西,但我似乎無法以任何其他方式使用它。

當前腳本,從其他類重寫了:

set_time_limit(5); 
$socket = fsockopen('udp://ip:port', 'port', $error, $errorStr, 3); 
fwrite($socket, "\xFF\xFF\xFF\xFFgetstatus\x00"); 
$data = fread($socket, 4096); 
fclose($socket); 

這讓我大量的數據,但還不夠。我的想法是查詢一個Left 4 Dead服務器,但是我甚至無法得到任何數據。打印出$ socket時,我確實得到了一個資源流。

有什麼想法?

回答

1

什麼約

while($data = fread($socket, 4096)) { 
    var_dump($data); // or something to test output 
    ... 
}