1

对于我的项目,我必须从我的(php)网站与远程设备进行通信。我需要实现的命令之一发送一个连续的数据流,直到它接收到来自用户的更多输入。

所以我的问题是如果我使用这会是一个问题file_get_contents()吗?还是我应该使用fread()?我的输入是一个字符串的形式,它fread()说我应该使用file_get_contents(),但是如果我使用file_get_contents(),我需要把它放在一个循环中,然后在数据包之间发送数据到我的设备以停止它发送数据吗?每次我打电话时,循环会关闭我的连接并打开一个新连接file_get_contents()吗?

我每天可以使用的数据量也受到限制,如果我使用file_get_contents()它并且它限制了块大小为 8KB 的块大小,即我一天数据的 8%。

4

2 回答 2

3

使用fsockopen,fread等... 的目的file_get_contents是读取文件,而不是按照您想要的方式发送/接收数据。

于 2012-09-06T22:13:49.863 回答
0

我会使用fopen和使用stream_context_create

$options = array(
    'http' => array(
        'method' => 'GET',
    ),
);
$context = stream_create_context($options);
$fh = fopen($your_url, 'r', false, $context);

这将允许您将流作为文件使用。让您可以访问任何您想用它做的事情......比如逐行解析它fgets或其他任何东西。

于 2012-09-06T22:21:06.433 回答