2012-05-04 3 views
1

私はFacebookアプリになるマルチプレイヤーゲームに取り組んでいます。いくつかの研究をして、私は、サーバー側のプッシュに対して、Node.jsまたはPythonで最もよく実装されている彗星が必要であることを発見しました。Facebookのマルチプレイヤーゲーム

FacebookのAPIは、javascriptとPHPでのみ書かれています。私は第三者のAPIがあることを知っていますが、私はそれらと一緒に行きたくありません。私はFacebookコードのクライアントサイドをjavascriptでやっていますが、それはちょっと難しいでしょう。特にPHPで簡単にできるのです。

は、私によると、私のオプションは、サーバー側のプッシュおよび定期的なAjaxリクエスト+ PHPに固執

  1. まま以下のように要約されています。

  2. Node.jsに固執してPHPを終了し、すべてのFBプログラミングをjavascriptで行います(これが可能であれば、それは私が思う)。

  3. サーバーサイドでApacheを使用します(これは良い方法ではないと聞いています)。

  4. いくつかの彗星サポートとFB APIを備えたJavaのような技術に移行します。 (私はピトンを知らない)。

  5. HTML5では、サーバー側の更新も導入されました。多分役立つかもしれません。 (それでも思ったことはありません)

どちらが最善の方法ですか?私は、Java、PHP、およびJavaScriptの良い経験を持っています。

+0

[PHPでCOMETを実装する方法](http://www.zeitoun.net/articles/comet_and_php/start) –

答えて

2

すべてのコメットは、結果がない場合にサーバーが故意に応答を遅らせ、結果が出るまで、または要求がタイムアウトするまでデータソースサーバー側をポーリングし続けます。重要なイベントがかなり疎(すなわち、更新がない行に頻繁に多くの秒がある場合)している場合は、プッシュ技術によく似ています。

PHPは一般的には素晴らしい言語だとは思いませんが、PHPではPythonなどよりも彗星(ロングポーリングとも呼ばれます)を行うのはずっと難しいはずはありません。 PHPを使用しない理由は、それを行ってください。また、PythonやJavascript/Node.jsなどの他の言語からFacebookのAPIとやり取りすることもできます。

HTML5には、とりわけ、HTTPリクエストとはまったく異なり、ロングポーリング手法よりもはるかに優れた遅延を持つWebソケットがあります。特に、非常に頻繁に更新する場合は特にそうです。 Webソケットのデータは、 "プッシュ"技術が意味することに近いものです - 彗星は実際には遅延プルによって実装された "プッシュ"の近似です。ソケットや彗星、あるいは通常の遅れていないAjaxリクエストがあなたのゲームに最適かどうかは、あなたのゲームの詳細とあなたのサーバーリソースによって決まります。

関連する問題