PHP - как транслировать контент с помощью Transfer-Encoding: chunked - PullRequest
3 голосов
/ 05 февраля 2012

Я пытаюсь реализовать простой потоковый тест с использованием php.с помощью следующего кода я вижу, что ответ передается в потоковом режиме - с помощью вкладки firebug net.

Однако содержимое не обрабатывается до тех пор, пока ответ не будет выполнен.Что мне не хватает?

header('Content-Encoding: chunked');
header('Transfer-Encoding: chunked');
header('Content-Type: text/html');
header('Connection: keep-alive');
flush();
ob_flush();

for ($i = 0; $i < 100; $i++) {
    dump_chunk('<script type="text/javascript">console.log(' . $i . ')</script>');
    flush();
    ob_flush();
    sleep(1);
}

function dump_chunk($chunk) {
    echo sprintf("%x\r\n", strlen($chunk));
    echo $chunk;
    echo "\r\n";
}
...