Лучший подход для (кроссплатформенной) потоковой передачи данных в реальном времени в PHP?

Мне было интересно, как сделать «истинный» (полу) в реальном времени потоковая передача данных с помощью PHP.

Возможные применения: чаты, аукционы, игры и т. Д.

Под «истиной» я подразумеваю, что данные не просто куда-то записываются и опрашиваются непрерывно, но фактически каким-то образом передаются клиенту.

Под «полу» я подразумеваю, что это нормально, если только поток от сервера к клиенту идет в реальном времени, а сообщения от клиента к серверу - нет.

Для связи между клиентом и сервером я бы предпочел использовать простой HTTP (AJAX), а не какой-либо другой протокол.

Потоковая передача клиенту по HTTP возможна путем ручной очистки выходного буфера.

Вопрос в том, к чему подключить этот сценарий на стороне сервера?

И как только он будет подключен, выполнить блокирующее чтение, а не запрашивать изменения.

Расширение разделяемой памяти (shmop) могло бы работать, но оно не является кроссплатформенным.

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

Есть идеи?

7
задан Jonah 21 December 2010 в 02:35
поделиться