Articles of server sent events

Страницы с session_start () не загружаются при запуске серверного события

Я работаю над небольшим проектом, чтобы создать чат-систему 1v1. Я хотел работать над проектом, где я мог бы использовать Server-Sent Events для хорошего использования. Он работает очень хорошо, но недавно я внес некоторые изменения в код, так что в общем чат будет более эффективным. Когда я запускаю источник событий, я сталкиваюсь с какой-то странной проблемой. […]

Как полностью реализовать сервер-отправленные события для опроса сообщений

Я пытаюсь общаться с сервером с помощью API. для упрощения написания сценария, который будет связывать API с помощью php-скрипта. Моя цель – сделать запрос API каждый раз, чтобы узнать, есть ли новое сообщение в их очереди. Мне было рекомендовано использовать метод отправленных сервером событий, и сервер отправляет ответ клиенту только тогда, когда он имеет что-то […]

Изменить источник (url) события Server-Sent

Как изменить исходный набор в объявлении EventSource ? Я пробовал что-то вроде этого: var source = new EventSource("/blahblah.php?path=" + (window.location.pathname)); // Few lines later… source.url = "/blahblah.php?path=" + url; Но, source.url остается тем же … Возможно ли это? Или, может быть, есть альтернативные способы сделать это?

Сервер отправил события, но с большой задержкой

Начнем с того, что это прекрасно работает на моей локальной машине, пример js ниже подключается к stream.php и получает непрерывное обновление серверов в текущее время каждую секунду. index.php var source = new EventSource("stream.php"); source.addEventListener('message', function(e) { console.log(e); }, false); source.addEventListener('open', function(e) { console.log(e); }, false); source.addEventListener('error', function(e) { if (e.readyState == EventSource.CLOSED) { console.log('closed'); } […]

Производительность источника событий

В настоящее время я работаю над большим проектом, который требует реализации событий, отправленных сервером. Я решил использовать для него транспорт событий-событий и начал с простого чата. В настоящее время клиентская сторона слушает только новое событие сообщения чата, но в будущем проект будет иметь гораздо больше событий. Во-первых, я действительно обеспокоен сценарием на стороне сервера и […]

Что такое Long-Polling, Websockets, Server-Sent Events (SSE) и комета?

Я пробовал читать некоторые статьи, но я пока не совсем понимаю понятия. Кто-то хотел бы сделать снимок, объяснив мне, что это за технологии: Длительный опрос События, отправленные сервером WebSockets комета Одна вещь, с которой я сталкивался каждый раз, – это сервер, который открывает соединение и передает данные клиенту. Каким образом соединение остается открытым и как […]

Отправленные сервером события Опрос, вызывающий длительные задержки

У меня есть разъем, который вызовет RESP API, используя cURL и PHP. Мне нужно вызывать один метод каждую секунду, чтобы проверять новые сообщения, а затем обрабатывать их. Я использовал следующие два подхода для обработки сообщений Опрос AJAX с использованием SetInterval() : вызывать скрипт php один раз в секунду. Это отлично работает, за исключением того, что […]

Сервер-отправленные события и php – что вызывает события на сервере?

Все, В HTML5 Rocks есть хороший учебник для начинающих по событиям, отправленным сервером (SSE): http://www.html5rocks.com/en/tutorials/eventsource/basics/ Но я не понимаю важной концепции – что вызывает событие на сервере, которое вызывает отправку сообщения? Другими словами – в примере HTML5 сервер просто отправляет временную метку один раз : <?php header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); // recommended to prevent caching […]

POST для PHP с событиями, отправленными сервером?

Можно ли использовать SSE для отправки данных POST на PHP, например, в Ajax? Я уже давно использую AJAX с плохими результатами в длинных опросах. Я также думал о WebSockets, но он кажется немного лишним.

Источник события PHP продолжает выполнять

Я начал использовать push в HTML5 с помощью объекта JavaScript EventSource. Я был полностью доволен рабочим решением в PHP: $time = 0; while(true) { if(connection_status() != CONNECTION_NORMAL) { mysql_close() break; } $result = mysql_query("SELECT `id` FROM `table` WHERE UNIX_TIMESTAMP(`lastUpdate`) > '".$time."'"); while($row = mysql_fetch_array($result)) { echo "data:".$row["id"].PHP_EOL; echo PHP_EOL; ob_flush(); flush(); } $time = time(); […]