チャットをサポートするマルチプレイヤーWebゲームアプリケーションを構築したいと思います。アプリケーションは何百もの同時接続を処理する必要があると思います。
アプリケーションを共有Webホスティングでホストすることを計画していますが、これには次の制限があります(PHP + Comet(ロングポーリング)スケーリング/ホストに類似している可能性があります)。
- Webサーバーを変更できないようです。ほとんどの場合、Apacheを使用しています。
- MySQL 5、PHP 5.3.x、Perl、Python、Ruby on Rails、CGIをサポート
(より正確には、HawkHostの共有Webホスティングを使用します。)
そして、これが私の研究結果であり、その後に私の質問が続きます:
- 一部のリソース(Python Comet Serverなど)では、PHPは同時接続の処理には適していないが、Pythonの方が適していると述べています。これは本当ですか?
- 「データが変更されるまで無限にループする」を使用して、PHPで長いポーリング手法を試しました(ただし、開いている接続が放棄された場合のCometの問題のように、正しく実装されているかどうかはわかりません)。方法。これはほとんど機能します。残りの問題は、ブラウザが閉じられたときにサーバープロセスが停止しないことです(サーバーは接続が終了したことを認識せず、データが変更されることはありません)。PHPがブラウザが終了したかどうかを検出して、ループを停止する方法はありますか?
私は答えを探すためにどこでも探していましたが、それでも私は何も結論付けることができません。このトピックはStackOverflowでも何度も質問されていますが、繰り返し聞こえる場合は申し訳ありません>。<。
現在、PHP、MySQL、およびJQueryforJSを使用してコーディングできます。コメットとサーバープッシュという用語はまだ初めてです。必要に応じて、Pythonのような新しいスクリプト言語も学びたいと思っています。
プロジェクトを開始するために使用するスクリプト言語、フレームワーク、および手法についての洞察に感謝します。