24

中央サーバーを必要とせずにインターネット経由でプレイできる単純なゲームの基本的な実装をいくつか作成しようとしています (チックタックトーが開始プロジェクトです)。ページをホストする必要さえなく、マシン上でローカルに実行することも、Web サーバーでホストすることもできます。ゲームをホストするとき、ページはホストに彼の IP アドレスを通知し、それを任意の方法 (電話、インスタント メッセージなど) で友人に送信できます。その友人は、参加ダイアログに IP を入力するか、コピーして貼り付け、問題のゲームをプレイできます。これらの 2 つの当事者が、追加のソフトウェアをインストールせずに、また、いかなる種類の中央サーバーにも接続せずに、これを実行できるようにしたいと考えています。

私は、node.js、webrtc、websockets、flash、java などを含む多くの潜在的なソリューションを調べました。これらのそれぞれには、中央サーバーを必要とする、またはクライアントが何かをダウンロードする必要がある可能性があるなど、それに関連する問題があります。まだコンピューターにインストールされていないか、オーディオとビデオを転送するだけで、データ メッセージの送信には役に立ちません。Java をダウンロードする必要があることや、フラッシュを使用してアプリケーションを開発する必要があることを誰かに伝えるのは些細なことのように思えるかもしれませんが、それはすべて私の最終的な目標に反しています。

私がやろうとしていることを完全にjavascriptで行うことができない場合、それは不可能です。しかし、ブラウザーが、IP に解決される URL または直接 IP に解決される URL に対してテキスト データを送受信できることを考えると、なぜそうできないのかわかりません。他の解決策は大歓迎ですが、これが不可能な場合は、そうすべきです。

私がやろうとしていることの正確な要件の簡単な説明は次のとおりです。

  1. (ビールのように) 完全に無料のテクノロジを使用する必要があります。(フラッシュはありません。フラッシュ プレーヤー用の Web アプリは無料でコーディングできることは理解していますが、階層内のピア ツー ピアにはベータ キーのサインアップが必要です。ベータ キーを無料で入手できると仮定すると、永久に無料であるとは限りません。)

  2. 外部サーバーや偽のピアツーピアはありません。(ここでも、中央サーバーを使用している限り、ピアツーピアの模倣を実現できるフラッシュまたはユニティベースのソリューションと同様)

  3. クライアントのダウンロードはありません (確かに、ほとんどの人は Java または Flash をインストールしていますが、多くの人はインストールしていません。また、Java はかなりの量のダウンロードであり、コンピューターの知識がないユーザーにとっては使いにくいものです。現在、ツールバーをインストールしようとさえしています。これに加えて、多くの私のユーザーは、Java や Unity を含め、何もダウンロードしようとはしません。既に述べたように、このプロジェクトに関連する独自の問題があります)

要約すると、ajax が指定された IP に要求を送信し、応答をリッスンできる場合..純粋な js で単純なピアツーピア メッセージングを取得できないのはなぜですか? それともできますか?

データを送受信するために、本格的な Web サーバーや別のアプリケーションやプラグインをホストする必要はありません。

何か不足していますか?

4

2 に答える 2

19

pubnubが勧められた後、私はそこを見て、部分的に感銘を受けました. しかし、最終的には信じられないほど探していたものに出くわしました。RTCDataChannel が答えです。このサイトは、私が望むことが可能であることを最終的に示しました。この機能に対するブラウザのサポートは小さいですが、成長しており、この試練全体が、ブラウザ コミュニティにおけるピア ツー ピア アプリケーションのサポートの拡大に​​対する私の信頼を強めています。

于 2013-04-22T04:25:50.470 に答える
0

要約すると、ajax が指定された IP に要求を送信し、応答をリッスンできる場合..純粋な js で単純なピアツーピア メッセージングを取得できないのはなぜですか? それともできますか?

これは、ajax リクエストを HTTP サーバーで処理する必要があるためです。そのため、すべてのクライアントにサーバーをインストールする必要があります。

欲しいと言う

  1. 自由
  2. 外部サーバーなし
  3. クライアントのダウンロードなし

これらの要件の 1 つを切り取ることを除けば、これらすべての要件をアーカイブすることは不可能だと思います。

私の提案はpubnubです。このソリューションにはまだサーバーが必要であり、無料ではありません (無料利用枠があります)。しかし、良いことは、サーバーのことをしなくても、クライアントのダウンロードを必要とせずに、p2p 接続を模倣できることです。

于 2013-04-15T16:31:19.723 に答える