PHP fSockOpen对服务器的查询


PHP fSockOpen query to server?

我最近开始从服务器获取数据。例如,来自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时,我确实得到了一个资源流。

知道吗?

的特点

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