对于社区,我目前正在编写一个 PHP 脚本来使用标准块提供文件,如下所示:
set_time_limit(0);
ob_clean();
ob_start();
while (SoapService->nextChunk()) {
$chunk=SoapService->chunk();
print $chunk;
ob_flush();
flush();
}
我想做的是在 flush() 之后添加某种方法,例如 timerReset(); 然后在某种计时器循环中:
while (True) {
Sleep(0.30);
if (timerCheckandIncrement() > 100) {
SoapService->notifyClose();
exit(0);
/* or */
SoapService->takeSomeAction();
}
}
这样,如果远端停止接收数据包和/或无法跟上流,我将能够执行以下操作: a) 更改编码比特率。b) 停止脚本并清理/释放资源。
我知道 Apache / PHP 可以协商诸如 Keep-Alive 等标头,但我不知道如何准确地利用它们,和/或真正利用它们。
使用 AJAX 服务是不可取的。这里的目标是使用应用服务器通过互联网将媒体内容从文件服务器流式传输到移动设备。我也考虑过编写一个“应用程序”,但是跨平台编码(android/bb/iOS/W7M)以及我对 SmallTalk(ObjectiveC)的极其有限的知识会增加不必要的复杂性。