【发布时间】:2016-06-18 00:42:29
【问题描述】:
也许我在问不可能,但我想多次克隆一个流。一种多播仿真。这个想法是每 0.002 秒将一个 1300 字节的大缓冲区写入 .sock 文件(而不是 IP:port 以避免开销),然后从其他脚本多次读取相同的 .sock 文件。 通过常规文件执行此操作是不可行的。它只能在生成缓冲区文件然后回显它的同一脚本中工作。其他脚本会误读它。
这与生成块的脚本完美配合:
$handle = @fopen($url, 'rb');
$buffer = 1300;
while (1) {
$chunck = fread($handle, $buffer);
$handle2 = fopen('/var/tmp/stream_chunck.tmp', 'w');
fwrite($handle2, $chunck);
fclose($handle2);
readfile('/var/tmp/stream_chunck.tmp');
}
但是另一个读取块的脚本的输出:
while (1) {
readfile('/var/tmp/stream_chunck.tmp');
}
很乱。不知道怎么同步chunk的读取过程,觉得sockets可以创造奇迹。
【问题讨论】: