Meilleure approche pour (cross-platform) en temps réel des flux de données en PHP?

Je me demandais comment faire "vrai" (semi) en temps réel des flux de données avec PHP.

Applications possibles: salles de clavardage, des ventes aux enchères, des jeux, etc.

Par "vrai", je veux dire que les données n'est pas seulement écrit quelque part et interrogés en permanence, mais en réalité, le streaming pour le client en quelque sorte.

Par "semi", je veux dire c'est pas grave si seulement le flux à partir du serveur vers le client est en temps réel, et les messages du client vers le serveur ne le sont pas.

Pour la communication entre le client et le serveur, j'aimerais coller avec de la plaine HTTP (AJAX) plutôt qu'à une autre protocole.

Streaming pour le client HTTP est possible manuellement par rinçage de la mémoire tampon de sortie.

La question est ce que pour vous connecter que le script du côté serveur?

Et une fois qu'il est connecté, faire un blocage de la lecture, plutôt que de l'interrogation des modifications.

La mémoire partagée (shmop) l'extension du travail, mais il n'est pas multi-plateforme.

Peut-être memcached pourrait fonctionner? Mais je ne sais pas si il y a un moyen de faire un blocage lire, il descend donc dans les bureaux de vote à nouveau - même si je suis sûr que memcached est assez rapide, je n'aime pas l'idée d'une interrogation continue.

Des idées?

Je ne veux pas pousser - je suis à la recherche d'une certaine façon à ouvrir un flux/pipe/port/canal/quelque chose sur le côté serveur et écrire, et n'importe quel autre script actuellement connecté à ce flux/chose peut lire de lui en mode de blocage, puis d'écrire les résultats à un fonctionnement continu de la requête HTTP et rincer.

OriginalL'auteur mindplay.dk | 2010-12-21