私はRMIと集中サーバを使って、Javaでマルチプレイヤー/マルチルームゲーム(ハーツ)を書いています。 しかし、問題があります。クライアントがNattedでファイアウォールされているため、RMIコールバックが動作しません。私は基本的に、クライアントにデータ更新をプッシュするために、サーバーをポーリングを使わずに、ソケットを使わずに置く必要があります。(私はより高いレベルでコードします) この種のアーキテクチャを実現するための最良の解決策は何ですか? ajaxアプリケーションは唯一のソリューションですか?Javaのマルチプレイヤーゲーム。最高のソリューションは何ですか?
1
A
答えて
3
あなたはポーリングをしたくないと言っていますが、AJAXはまさにそれです。 Cometを見ることができますが、とにかくポーリングから脱出することは難しいです(たとえば、Comet自身が下のポーリングを使用します)。
1
JXTAなどのピアツーピアフレームワークを使用できます。
0
私は2つの主なテクニックを提案できます。
サーバーには、クライアントが呼び出し可能なgetUpdatesメソッドがあります。このメソッドは、表示する更新があるときにコントロールをクライアントに返します。
クライアントが登録を実行すると、サーバーにコールバックリモートオブジェクトが割り当てられます このオブジェクトはrmiレジストリに登録されていないため、nattedクライアントに問題はありません。
0
ブラウザベースではないアプリではどのように(if)ajaxが動作するのかよくわかりません。あなたは、接続ごとにスレッドを持つアプリケーションの持続時間の間、あなた自身のSocketConnectionsのプールを開いておくことができます。
多くの同時接続に拡張する必要がある場合は、Apache MinaまたはNetty(関連する投稿:Netty vs Apache MINA)のような非ブロックI/Oフレームワークを参照してください。
関連する問題
- 1. ステートマシンは最高のソリューションです
- 2. 最高のOpenGL Javaバインディングは何ですか?
- 3. 最高のJava SIP Stackは何ですか?
- 4. 最高のJava QRコードジェネレータライブラリは何ですか?
- 5. 最高のパフォーマンスとソリューション
- 6. 最高のDotnetコンポーネントスイートは何ですか?
- 7. 最高のシステムインテグレーションアプローチは何ですか?
- 8. 最高のXMLパーサーは何ですか
- 9. 最高のpythonエディタは何ですか?
- 10. 最高のAjaxアプローチは何ですか?
- 11. 最高のレポートライターツールとは何ですか?
- 12. 最高のクロスプラットフォームモバイルアプリケーションツールは何ですか?
- 13. は、PDFの作業のための最高のJavaライブラリである何のJava(最高ライブラリ)
- 14. Javaマルチプレイヤーゲーム - ネットワーキングの概念
- 15. Javaのための最高の無料のオーブは何ですか
- 16. CSSサポートでXHTMLマークアップを変換するための最高のASP.NET PDFソリューションは何ですか?
- 17. Linq DBMLテーブルの移行に最適なソリューションは何ですか?
- 18. トラフィックの多いウェブサイトに最適なAWSソリューションは何ですか?
- 19. オープンソースのcassandraクラスタに最適な監視ソリューションは何ですか?
- 20. このビデオレイアウトに最適なソリューションは何ですか?
- 21. フレックスアプリ/サイトのディープリンクに最適なSEOソリューションは何ですか?
- 22. mysql接続のタイムアウトに最適なソリューションは何ですか?
- 23. 最高の、最も単純なajaxファイルアップローダは何ですか?
- 24. 最高のORMフレームワークとは何ですか?なぜですか?
- 25. PythonでFacebookのための最高のsdkは何ですか?
- 26. Javaで最高のスコア
- 27. これを実装する最適なソリューションは何ですか?
- 28. Railsソートパラメータを設定する最適なソリューションは何ですか?
- 29. MARAテーブルを更新する最適なソリューションは何ですか?
- 30. ヘルプページを作成する最適なソリューションは何ですか?
これはデスクトップアプリですか、ウェブアプリですか? –
デスクトップアプリです! – Davide