Архитектура Peer-To-Peer для Android/iOS
Это довольно широкий вопрос, я нашел много информации об этой теме.
Возможные технологии
- Bluetooth
- Wi-Fi
- Wifi Direct?
- Bonjour zeroconf?
В настоящее время ни одна из них не имеет полностью реализованной одноранговой библиотеки, или я ее не нашел.
На самом деле меня не интересует какая-либо игровая библиотека (и я не нацелен на такие проблемы)
Вопросы, которые я рассматривал
Я хотел бы эффективно общаться между как можно большим количеством устройств, без необходимости использования мобильных данных (3G, HS * PA, LTE) или WIFI AP в качестве промежуточной точки.
И не подключая людей на большие расстояния, действительно так же, как PAN через Bluetooth.
Таким образом, какие функции мне потребуется, чтобы
- Полностью OFFLINE (не требуя каких-либо мобильных услуг передачи данных или Wi-Fi AP)
- Кросс-платформенная совместимость (Android, iOS)
- Обратная совместимость с ОС Android (начиная с версии 2.3, iOS с версии 5.1.1)
Возможности, которые я хотел бы иметь
- Оптимизация маршрута (OSPF, MME,...)
- Не требует от устройств авторизации для сети (см. Android небезопасный BT RFCOMM)
- Возможна упаковка до десятков пользователей (20-30 max imo или больше, если это возможно)
- При необходимости сеть может выбрать своего лидера (сервер node)?
Есть ли что-нибудь, что я мог бы использовать для указанных функций?
Ответы
Ответ 1
Open Garden разрабатывает такую технологию и реализует ее в своем приложении Firechat. Тестируя приложение, мы обнаружили, что соединения Android-Android работают только по Bluetooth, iPhone-to-iPhone работает с Bluetooth или Wi-Fi, а Android-iPhone работает только в том случае, если телефоны подключены к одной сети.
Здесь ссылка на их sdk, которая должна быть скоро: https://opengarden.com/sdk
Ответ 2
Я знаю, что Google только что вышел с кросс-платформенной api для iOS и Android-устройств, чтобы общаться друг с другом. Я не знаю, что вы ищете, но это позволяет передавать небольшие бинарные данные между устройствами Android и IOS. они не обязательно должны быть в одной сети или подключены к Интернету. Я включу ссылку, просто проверьте ее.
https://developers.google.com/nearby/messages/overview
Ответ 3
В настоящее время только OpenGarden FireChat является одним из основных игроков, делающих это. Они предоставляют набор sesh, который в настоящее время я думаю, вам нужно Применить для.
Есть еще один проект, который был немного потрясен, но я слышал, что предположил, что релиз скоро появится: Thali Project
Ответ 4
Я бы рассмотрел данные datachannels WebRTC, который имеет встроенную поддержку как iOS и android. Вы также можете включить настольные браузеры как одноранговые узлы с помощью WebRTC.