Beste Option für das Streaming von Daten zwischen iPhones

8

Ich möchte eine Client-Server-Architektur für das Streaming von Daten zwischen mehreren iPhones einrichten. Zum Beispiel beherbergt das iPhone "Server" eine Master-Liste von Tieren. Eine beliebige Anzahl von Client-iPhones kann eine Verbindung mit dem Server-iPhone herstellen und dann die Liste lesen und bearbeiten. Einige Methoden habe ich ausprobiert:

  • Multipeer-Konnektivität - Unterstützt nur bis zu 8 Clients. Wäre genau das, was ich suche, wenn es einen Weg um diese geben würde
  • GameKit - Ich habe gelesen, dass eine Bluetooth-Verbindung im Umgang mit mehreren Clients fehlerhaft sein kann
  • BLE - charakteristische Werte für Bluetooth sind auf 512 Oktetts beschränkt. Ich nehme an, dass die Liste der Tiere, wenn sie archiviert wird, größer wird als der maximale charakteristische Wert.
  • Sockets - Ich würde mich lieber nicht auf einen externen Server verlassen müssen

Ich bin bereit, "Hacky" -Lösungen zu unterhalten. Ich dachte daran, jedes Tier als eine separate Eigenschaft zu übertragen, aber dies könnte die Entdeckung verlangsamen und ich habe das Gefühl, dass es einige andere Kopfschmerzen verursachen wird. Jede Hilfe würde sehr geschätzt werden

    
Ethan Blackburn 03.01.2014, 04:53
quelle

1 Antwort

14

Multipeer Connectivity unterstützt nur 8 Peers pro Sitzung, unterstützt jedoch mehrere Sitzungen. In Ihrem Fall, wo es ein einzelnes "Server" -Gerät mit vielen Clients gibt und die Clients sich nicht sehen müssen, kann der "Server" einfach neue Sitzungen nach Bedarf erstellen.

Wenn der Peer "server" als Werbetreibender fungiert und Einladungen akzeptiert, haben Sie eine Methode, die eine vorhandene Sitzung zurückgibt oder eine neue erstellt:

%Vor%

Ich habe dann diese Methode zum Senden:

%Vor%

Es gibt sicherlich Leistungsoptimierungen, die bei diesem Ansatz gemacht werden können, aber für die Häufigkeit, mit der ich Daten an Peers sende, hat dies gut funktioniert.

    
ChrisH 03.01.2014, 15:46
quelle