私が開発しているマルチプレイヤー ゲームでユーザーが p2p をプレイできるようにしたかったのですが、それを可能にするには、javascript がブラウザーでソケット サーバーを作成できる必要があります。それは可能ですか?クライアントがJavaScriptで他のクライアントに接続できるAPIを知りません。他に方法はありますか?隠しフラッシュ要素を使用したいですか?
サーバーをまったく必要としないものを求めています。パケットはクライアントからクライアントに直接移動する必要があります
私が開発しているマルチプレイヤー ゲームでユーザーが p2p をプレイできるようにしたかったのですが、それを可能にするには、javascript がブラウザーでソケット サーバーを作成できる必要があります。それは可能ですか?クライアントがJavaScriptで他のクライアントに接続できるAPIを知りません。他に方法はありますか?隠しフラッシュ要素を使用したいですか?
サーバーをまったく必要としないものを求めています。パケットはクライアントからクライアントに直接移動する必要があります
この質問は古いですが、私は今答えを出すことができます: はい、ブラウザ間で p2p 通信を行う方法がついにあります! 新しい標準のWebRTCのおかげで、最新のブラウザはデータ チャネルをサポートするようになりました。これは、WebSocket よりもはるかに強力なものです。
ここを見てください:
オンラインの例: Banana Bread 3Dは、マルチプレイヤー モードで WebRTC データ チャネルを使用して、JS+WebGL にコンパイルされたファースト パーソン シューティング ゲームです。
つまり、ブラウザでの p2p は不可能です。
あなたが得ることができる最も近いものは、NodeJS(潜在的にp2p JSの場合)または集中型サーバー(または複数のサーバー)とwebsockets(ブラウザのソケット用)を使用することです
興味深い質問ですが、おそらく重複しています:
これは、(すべてのブラウザーで) JavaScript のみを使用して実行できないことは確かです。上記のトピックの Stackoverflow に関する別の回答によると、 rtmfp-apiを使用してこれを実行できる場合があります。
このプロジェクトは、Rtmfp プロトコル (Flash バージョン 10 で提供) を非表示の Flash アプレットを介して JavaScript アプリケーションに公開します。このプロトコルにより、複数のクライアントが直接通信できます。プロトコルの詳細については、参考文献を参照してください。
サイトをざっと見てみると、まだrtmfpUrl
中間にサーバーが必要です。これは、クライアントがお互い (IP) を見つけることができる必要があるため、完全に理解しています。しかし、その後はp2pになると思います。簡単な検索を行うと、オープンソースの rtmfp-server(s)も見つかりました。
私はこれを自分で試したことはありませんが、これはあなたの目標を達成するのに役立つかもしれません.
その他のリンク:
これが mobl による解決策です(ただし、まだ試していません)。
このようなゲームを実装するには、JavaScript クライアントがサーバーと通信する必要があります。次に、サーバーはゲーム ロジックを実行し、結果をクライアントに送り返します。
基本的に、JavaScript は非常に簡単に変更できるため、絶対に信用しないでください。すべてをサーバー側で行う必要があります。