0. Библиотека о которой вы каждый раз упоминаете - polyfill. Она нужна для реализации SSE в старых и кривых браузерах. Нет смысла писать о ней каждый раз (особенно учитывая что вы пытаетесь сделать сервер).
1. Это демо из библиотеки. Просто чтобы посмотреть что библиотека работает.
Подскажите пожалуйста зачем тут использовать цикл ?
Я даже не знаю что на это ответить. Цикл нужен чтобы циклически выполнять действия. Ваш КО.
Что происходит в цикле:
- если прошло больше 10 секунд завершаем работу
- пишем данные
- сбрасываем буфер
- спим 4 секунды
Если же убрать данный цикл, то после каждой отдачи данных будет реконект
А чего вы ждали? Скрипт выполнил свою работу и умер.
Даже если оставить
ob_flush();
flush();
Это для принудительной отправки данных пользователю.
То реконект будет примерно через секунд 30.
Время жизни php ограниченно. Он создан чтобы умирать. Умирать через 30 секунд (вероятно именно 30 секунд указанно в настройках).
И вопрос номер 3. Как лучше всего сделать обновление в реал тайме с помощью данной библиотеки, сколько секунд будет оптимально держать соединение, какая должна быть чистота обновления (тоесть раз в сколько секунд посылать запрос), как часто нужно делать реконект ?
Ещё раз. Это библиотека для браузера. В случае с SSE соединение не должно разрываться. В вашем случае оно разрывается из-за использования php.
Чтобы не разрывалось (оптимальное применение) нужно использовать node, tornado или что-то подобное