私はAndroidプラットフォーム用にいくつかのゲームを開発しましたが、最初のマルチプレイヤーゲームの作成を計画しています。私が念頭に置いているのは、基本的にはローカルエリア接続/ WiFiを介して2台の電話でプレイできる2プレイヤーゲームの魔女だけです。
両方の電話は、3つの整数値を他の電話にリアルタイムで渡すことができる必要があります。これまでのところ、ソケットを使用することを検討しましたが、深く掘り下げる前に、より良いアプローチがあるかどうかを尋ねたかったのですか?
ありがとう!
私はAndroidプラットフォーム用にいくつかのゲームを開発しましたが、最初のマルチプレイヤーゲームの作成を計画しています。私が念頭に置いているのは、基本的にはローカルエリア接続/ WiFiを介して2台の電話でプレイできる2プレイヤーゲームの魔女だけです。
両方の電話は、3つの整数値を他の電話にリアルタイムで渡すことができる必要があります。これまでのところ、ソケットを使用することを検討しましたが、深く掘り下げる前に、より良いアプローチがあるかどうかを尋ねたかったのですか?
ありがとう!
回答:
あなたが見るかもしれない1つのオプションはSocket.IOです。
Stack OverflowではSocket.IOについて多くの議論があるようです。
悲しいかな、私は1つのAndroidデバイスがSocket.IOを介して別のAndroidデバイスと直接通信する方法、または両方がそれらの間の単一のWiFiアクセスポイントと通信することによる間接的な手順さえ理解できませんでした。(それが私のコードのバグなのか、他の誰かのコードのある種のファイアウォールなのか、それともSocket.IOの固有の制限なのかはまだわかりません)。私は、1つのAndroidデバイスがメッセージをWebサーバーに送信し、そのメッセージを他のAndroidデバイスに転送する小さなデモを1つ取得しました。
両方のデバイスが同じ部屋にあると言いましたか?
各Androidデバイスには、スピーカーとマイクがあります。原則として、1つのアプリが一連のトーンをスピーカーから送信し、他のアプリがそのトーンを聞いてそれらをメッセージ文字列にデコードすることが可能です。(a)60年代および70年代の音響カプラーのようなオーディオスペクトル全体を使用してデータを送信するか、または(b)15 KHzからデバイスがサポートする最高(おそらく24 KHz)までの非常に狭い帯域幅を使用できます。 -データパイプははるかに低速ですが、ほとんどの人はこれらの周波数を聞くことができません。超音波によるものです。
ハムラジオ事業者は、大量のノイズから非常に微弱な信号を引き出すための多くの巧妙な技術を開発しました。
「NarrateのZooshソフトウェアは、スマートフォンのスピーカーとマイクを利用して、今日のNFCが提供するデバイス間の同じデータ通信を可能にしますが、人間には聞こえない超音波周波数があります。」- イーウィーク、スラッシュドット。