さて、私は最近、誰かが更新を行うのを待っている間、バックエンドで php をスリープ状態にする ajax プッシュ スクリプトを作成しました。ただし、スリープ中のプロセスは多くの CPU を占有していました。これを防ぐ方法についてのアイデアはありますか?スレッドでスリープできるプログラムを見つけるか、あまり慣れていないpythonまたはc ++で独自のプログラムを作成する必要があると思います。私はブラウザ ベースのゲームに ajax プッシュを使用しているので、人々はリアルタイムでゲームをプレイできますが、バックエンドでスリープ状態のプロセスが多すぎると、サーバーが過負荷になると思います。
3 に答える
私が正しく理解しているなら、あなたはある種の長いポーリングのものが欲しいです-あなたは「彗星」という用語を検索するべきです。
たとえば、ここにあなたが興味を持つかもしれないいくつかの投稿があります:
- Webサーバーからブラウザにデータをプッシュする方法はありますか?
- コメットを実装するためのオンラインチュートリアル(サーバープッシュ)
- PHPでcometを使用していますか?
- コメットサーバーの選択の問題
- コメットとPHP:コメットをPHPチャットシステムで使用する方法は?
それでも、PHPはスレッド化されていないモデルであるため、その種のものに最適な言語/テクノロジーではないと言う人もいるかもしれません...そして多分あなたはあなたのその部分のために別のテクノロジーを探すことになるでしょうサイト...
たとえば、あなたは見ることができます:
リバースhttpに関するいくつかのリンク: リバースhttp 1making -real-time-web-real-time reverse http 2 rest-requires-asynchronous-notification
昨夜多くの調査を行った結果、これがサーバー側の答えであることがわかりました。次に、クライアント側の php スクリプトを作成します。次に、サーバーを呼び出すクライアントを ajax で呼び出します。唯一の問題は、一部の拡張機能を手動でインストールする必要があることです。
http://php-mag.net/itr/online_artikel/psecom,id,484,nodeid,114.html