使用UDP fsockopen从gameserver上的文件获取信息

时间:2014-11-12 13:34:43

标签: php

我在游戏服务器上找到了一个名为" current_map.tmp"的文件。 此文件包含一个取决于当前地图的数字。 我需要的是阅读这个数字。

这是我到目前为止所得到的:

<?php

$server_ip = '213.239.207.85';
$server_port = 27960;
$server_timeout = 2;

$server_addr = "udp://" . $server_ip;

$fp = fsockopen($server_addr, $server_port, $errno, $errstr, $server_timeout);
socket_set_timeout ($fp, $server_timeout);

if (!$fp) {
    echo "ERROR: $errno - $errstr<br />\n";
    } else {
    $File = "current_map.tmp";
    $filesize = filesize($File);
    $handle = fopen($File, "r");  
    $map_id = fread($handle, $filesize);  
    fclose($handle);

    }

fclose($fp);

?>

$ fp返回&#34;资源ID#2&#34;。 这样才有用。

然后什么都没有。

1)我如何知道我用$ fp连接的文件夹? 2)如何阅读此文件的内容?

1 个答案:

答案 0 :(得分:0)

  

$fp返回&#34;资源ID#2&#34;。这样才有用。

没有;这实际上并不意味着什么!由于UDP套接字是无连接的,所以没有UDP&#34; connection&#34 ;;调用fsockopen()只会初始化套接字以准备发送数据包。

在任何情况下,发送和接收UDP数据包都不允许您访问远程服务器上的文件,除非该服务器已实现允许您这样做的协议,并且您正在使用该协议。它肯定不允许您使用fopen()来访问远程文件 - 这段代码基本上只是废话。