2

我最近开始从服务器获取数据。例如,来自CoD 4 服务器。好的?

下面是一个脚本,我可以查询服务器的状态。意思是服务器的设置(地图、标题)和玩家的分数。现在的问题是,在 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 时,我确实得到了一个资源流。

任何的想法?

4

1 回答 1

1

怎么回事

while( $data = fread( $socket, 4096 ) ) {
    var_dump( $data ); // or something to test output
    ...
}
于 2012-08-05T12:25:24.547 回答