私はPHPで「真の(半)」リアルタイムデータストリーミングを行う方法を知りました。PHPでの(クロスプラットフォーム)リアルタイムデータストリーミングに最適な方法は?
可能なアプリケーション:「真」と部屋、オークション、ゲームなど
チャット、私が意味するデータがどこか書かれており、継続的にポーリングされますが、実際には何らかの形でクライアントにストリーミングされていません。
"semi"とは、サーバーからクライアントへのストリームのみがリアルタイムであり、クライアントからサーバーへのメッセージがリアルタイムでないことを意味します。
クライアントとサーバー間の通信については、他のプロトコルではなくプレーンHTTP(AJAX)を使用したいと思います。
HTTPを使用してクライアントにストリーミングするには、手動で出力バッファをフラッシュします。
問題は、そのスクリプトをサーバー側に接続することですか?
そして、いったん接続すると、変更をポーリングするのではなく、ブロック読み取りを行うようになります。
共有メモリ(shmop)拡張は機能しますが、クロスプラットフォームではありません。
おそらくmemcachedは機能しますか?しかし、ブロック読み込みを行う方法があるかどうか分からないので、再びポーリングするようになります。ただし、memcachedはかなり高速ですが、私は継続的なポーリングの考え方が嫌いです。
アイデア?
を - 私は/サーバー側で何かをストリーム/パイプ/ポート/チャネルを開くために、いくつかの方法を探していますそのストリーム/物に現在接続されている他のスクリプトがブロッキングモードでそこから読み込み、続いて実行中のHTTP要求に結果を書き込んでフラッシュすることができます。 –