Не знаете о событиях, отправленных сервером

У меня есть страница sse.php, которая считывает данные и отправляет их клиенту.

Он работает хорошо, за исключением того, что запускается каждые N секунд.

Я понимаю, что EventSource повторно подключается каждые N секунд, и мой php-скрипт запускается снова и снова.

Как определить, какое соединение первое, а какое - только поддерживающее переподключение?

Тогда я бы знал, на каком соединении запускать сценарий чтения, а на каком нет.

В WebSockets я знаю, что он подключается только один раз, тогда я отправляю только данные.

Как получить то же самое с SSE?


person Ocean Moon    schedule 15.11.2012    source источник


Ответы (1)


EventSource подключает только их, переподключается только тогда, когда соединение было закрыто

вы можете использовать «Last-Event-ID», чтобы узнать, какие данные были доставлены в ES.

Например:

data: test
id: 123

‹- соединение было прервано на этом этапе, Last-Event-ID: 123 http-заголовок будет в запросе повторного подключения

person 4esn0k    schedule 25.11.2012