Отправленные сервером события продолжают перезапускаться с новым запросом - PullRequest
0 голосов
/ 28 октября 2019

У меня очень простой контроллер событий на стороне сервера PHP (упрощенный для этого вопроса):

    $response = new StreamedResponse(function() {
        while (true) {

            if(connection_status() != CONNECTION_NORMAL) {
                die();
            };

            echo 'data: '. "\n\n";

            ob_end_flush();
            flush();

            sleep(1);
        }

    });

    $response->headers->set('Cache-Control', 'no-cache');
    $response->headers->set('Content-Type', 'text/event-stream');
    return $response;

Когда я вызываю это из моего приложения Angular, оно открывает и закрывает соединение для каждого цикла, поэтому выглядиткак это:

enter image description here

Что-то изменилось, потому что раньше я только видел один запрос и вращающийся значок для этого запроса, а затем поток данных обновлялся каждую секунду.

Что может вызвать это?

1 Ответ

0 голосов
/ 06 ноября 2019

Я удалил ob_end_flush();, и соединение оставалось открытым, как и ожидалось.

...