PHP fSockOpen查询到服务器?

时间:2012-08-05 12:21:26

标签: php sockets remote-server

我最近进入从服务器获取数据。例如,来自 CoD 4服务器。 OK?

现在,我可以在脚本中查询服务器的状态。含义,服务器的设置(地图,标题)和具有分数的玩家。现在的问题是,在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 个答案:

答案 0 :(得分:1)

关于什么

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