Architektura peer-to-peer systemu Android / iOS
To rodzaj szerokiego pytania, znalazłem wiele informacji na ten temat.
Możliwe technologie
BluetoothTylko GameKit iOS?Biblioteka Bluetooth P2P z Wi-Fi i GPS?Wi-FiWifi Direct?Bonjour zeroconf?Żadna z nich nie ma obecnie w pełni zaimplementowanej biblioteki peer-to-peer, ani nie znalazłem takiej.
W rzeczywistości nie interesuje mnie żadna biblioteka gier (i nie atakuję takich problemów)
Pytania, które rozważałem
Połączenie peer-to-peer w systemie AndroidAndroid od API 14 i brak wsparcia dla korzystania z różnych platformAndroid peer-to-peer technologANI (https://github.com/pocmo/Android-Network-Intents) przechwycono tylko siećDIAL, MOVL tylko wi-fiPołączenie Peer-to-Peer systemu AndroidC2DM / GCM wymaga danych mobilnychCzy Android może korzystać z sieci ad-hoc typu peer-to-peer?Tylko Wifi bezpośrednieWideo peer-to-peer z iOS na Androida?Wymaga danych sieciowych i serwerahttp://forum.unity3d.com/threads/141469-Wifi-Bluetooth-Multiplayer-on-iOS-and-AndroidGameKit is compatible only with other GameKit
https://www.alljoyn.org/docs-and-downloads/documentation/alljoyn-android-environment-setup-guide-rev-dBluetooth nie jest dobrze obsługiwany i wymaga zakorzenienia urządzenia.Chciałbym efektywnie komunikować się z jak największą liczbą urządzeń, bez potrzeby korzystania z danych mobilnych (3G, HS * PA, LTE) lub WIFI AP jako punktu pośredniego.
I nie łączenie ludzi na duże odległości, tak jak PAN w Bluetooth.
Tak więc, jakie funkcje musiałbym mieć
Całkowicie w trybie offline (nie wymaga żadnych mobilnych usług transmisji danych ani wifi AP)Zgodność między platformami (Android, iOS)Kompatybilność wsteczna Mobile OS (Android od 2.3, iOS od 5.1.1)Funkcje, które chciałbym mieć
Optymalizacja trasy (OSPF, MME, ...)Nie wymaga urządzeń do autoryzacji do sieci (patrz Androidniepewny BT RFCOMM)Możliwe zawijanie do kilkudziesięciu użytkowników (imo 20-30 max lub więcej, jeśli to możliwe)W razie potrzeby sieć może wybrać własnego lidera (węzeł serwera)?Czy jest coś, co mógłbym wykorzystać do wspomnianych funkcji?