12

Multipeer Connectivity フレームワークを使用したいと考えており、どのように進めるのが最善かについて経験者の声をいただければ幸いです。

「コーチ」デバイスと最大 45 の「プレーヤー」デバイス間の接続が必要です。それらはすべて同じスペースにありますが、Wi-Fi の可用性や接続を予測する方法はありません。コーチ デバイスは、毎秒すべてのプレーヤー デバイスに命令 (小さなデータ パケット) を送信する必要があります。各「プレーヤー」は、Bluetooth 心拍数モニター (非常に小さなデータ パケット) からの測定値を毎秒コーチに送信する必要があります。セッションあたりのピアの最大数は 8 であるため、これらのアイデアのいずれかで、必要な数に対応できますか?

a) コーチとの接続を確立する最初の 7 人のプレーヤー デバイスは、異なるセッション タイプをアドバタイズし、さらに 7 人 (または 6 人?) のプレーヤーが参加できるようにします。最初の 7 人は、他の 49 人 (または 42 人?) の仲介役として、コーチからの指示を伝え、収集した測定値をコーチに送り返します。指示と心拍数の読み取りの間に数秒のタイムラグがあることは好ましくありませんが、問題はありません。

b) コーチ デバイスは、1 つのセッションを作成してアドバタイズします。7 台のプレーヤー デバイスが接続された後、コーチ デバイスは別のセッションを作成し、さらに 7 台まで繰り返します。すべてのプレイヤー デバイスがコーチに接続されるまで繰り返します。これは機能しそうにありませんが、Multipeer Connectivity という魔法を理解していなければ、思いついたオプションでした。

c) コーチは、デイジー チェーン トポグラフィでデバイス 2 に接続するプレーヤー デバイス 1 とのセッションを確立します。各デバイスが命令を受信すると、それ自体の読み取り値をデータ パケットに追加して送信します。最後のデバイスは、パケット全体をコーチに返します。データのラウンドにどれくらいの時間がかかるか予測できません。また、1 つのデバイスがグループから外れると面倒なようです。

45 台ほどのデバイスで Multipeer Connection Framework を使用する際のアドバイスや経験談をいただければ幸いです。

4

4 に答える 4

4

私はそれが古い質問であることを知っています。私は以前に同じ問題を抱えていました(そして、明確な答えなしに同様の質問をしました)。

私がテストしたことと直面した問題:

  1. 「通常の方法」 -- 1 回のセッション。

    • 問題: 最大 8 台のデバイス。
  2. 各セッションに 6 つのデバイスを配置するセッションの配列 (最大 8 つを避けるため)

    • 問題: 過熱、メモリと CPU の消費量が多い。複数のセッションから複数のデバイスが一度に切断されると、再接続が許容されるまでに時間がかかることがあります。
  3. これは最も複雑な方法です。

    手順:

    1. セッションを作成し、最大 4 ~ 5 人のクライアントを許可します。
    2. クライアントが接続されるたびに、同じ条件でグループを作成します。
    3. 最大クライアント数 (実装に応じて 4 ~ 5) に達すると、広告を停止します。
    4. 新しいクライアントは、セルのように相互に接続されます。秘訣は、新しいクライアントが接続する必要があるウィッチ セッションを決定する方法を優先度順に設定し、クライアント セッションへのトラフィックを「サーバー レプリケータ」セッションに再送信する方法を作成することです。

最後の方法の唯一の問題は、これが最も複雑であり、クライアントを相互接続してトラフィックを再送信する方法を決定するために、鉛筆と紙が必要になることです。

于 2016-06-17T13:52:35.090 に答える
0

マルチピア接続フレームワークの代わりに、このhttps://github.com/jdiehl/async-network#request-based-networkingを使用できます

于 2015-02-24T07:01:11.343 に答える
-6

デフォルトは 8 で、最大値ではありません。

私も8つ以上必要になるので、あなたの質問は私を怖がらせました!!

以下に修正されたように見えます。

maximumNumberOfPeers セッションで許可されるピアの最大数 (ローカル ピアを含む)。@property(assign, nonatomic) NSUInteger maximumNumberOfPeers 説明 最大許容値 (およびデフォルト) は 8 です。

https://developer.apple.com/library/ios/documentation/MultipeerConnectivity/Reference/MultipeerConnectivityFramework/MultipeerConnectivityFramework.pdf

于 2013-11-21T13:21:31.140 に答える