2011-06-24 10 views
1

私の質問はXMPPプロトコルです。これLANベースのマルチユーザゲームのXMPP

誰かが教えてくださいすることができます?

は、マルチユーザゲームの文脈では通常であるリアルタイムということで、リアルタイムのシナリオのための使用であると考えられ、

どうかの適合するかどうかをコンテキストに、従来のTCPとUDPプロトコルのようなリアルタイムのマルチユーザゲームや

、それはゲームのために適合

た文脈で全く異なる獣、ありますか?どの種類のゲームでもうまくサポートすると考えられます。

答えて

0

XMPPプロトコルはゲームサーバーとは関係ありません。 XMPPは、すべての人が独自のサーバーをセットアップできる非集中化チャットプロトコルです。もちろん、このチャットシステムからのメッセージを解析してリアルタイムマルチユーザゲームを同期することはできますが、それはオーバーヘッドが大きくなります(XMPPは通常はエンコードされていない長いXMLメッセージを使用するため*)。

ゲームでのコミュニケーションの方法は、ゲームの状態の変更を保存し、UDPソケットを使用してサーバーに送信する独自​​のバイナリ形式を構築することです(遅延メッセージを破棄できるようにタイムスタンプに注意してください。いくつかのメッセージがドロップされる可能性があります)。サーバーは状態の変更が有効かどうかを確認し、それを他のクライアントに再配布する必要があります。 TCP(例えば、チャットメッセージ)を介してメッセージを送信する2番目のソケットを使用する必要があります。

これは非常にうまくいくかもしれませんが、かなりのコードサンプルがあります。さらに、このサーバー/クライアントアーキテクチャが設定されているJAVAやその他の言語のパッケージもあります。メッセージ。

*

+0

XMPPは、udpプロトコルによるプライベートビデオネットワークで動作しますか。 –

+0

まあ、私はできないだろう。 XMPPのWebサイトから:「XMPP(Extensible Messaging and Presence Protocol)は、音声とビデオの呼び出しのためのオープンな技術です...」 –

+0

したがって、マルチユーザの場合にデータを送信するために使用されるXMLベースのすべての方法タイムゲームは使用できません。 –

0

あなたのレイテンシとスループットの要件に応じて、XMPPがたりない可能性が有用である可能性がある/エンコードメッセージを圧縮し、いくつかのXMPPの拡張があります。ソーシャル面やコンテンツの更新が少ない(ファームビルと呼ばれる)インターネット分散型ゲームを作成する場合、Xmppは多くのユーザの簡単なスケーリング、オンライン状態の追跡、ユーザとゲーム間のダイレクトメッセージングを可能にするので便利ですコンポーネントなど

ペースが速いものは、プロトコルのオーバーヘッドが不適切なものになる可能性があります。

tcp/udpのコンテキストでは、xmppはtcpの上にxmlストリーム・プロトコルであり、集中型のフェデレーテッド・サーバーを使用します。

関連する問題